2016-04-03 18 views
0

Aşağıdaki kod bloğu, bir sıra uygulayan bir C++ programından alınmıştır. Yapı, sınıf ve işaretçi vb. Biliyorum ama yapıyı çok kullanmıyorum, bu yüzden bana *front = NULL,*rear = NULL,*p = NULL,*np = NULL;'un ne anlama geldiğini anlamakta zorlanıyor. Bu düğüm tipi işaretçiler bildiriliyor ve varsayılan bir NULL değeri olarak ayarlanıyor mu? Yanlış ve lütfen açıklamam varsa lütfen beni düzeltin.Aşağıdaki C++ kod satırı ne anlama geliyor?

struct node 
{ 
    int data; 
    node *next; 
}; 

node *front = NULL; 
node *rear = NULL; 
node *p = NULL; 
node *np = NULL; 

Ve kesinlikle hiçbir iyi tarzıdır: Bu aynı anlamda

cevap

3

de aynı durum geçerlidir

struct node 
 
{ 
 
    int data; 
 
    node *next; 
 
}*front = NULL,*rear = NULL,*p = NULL,*np = NULL;

struct node 
{ 
    int data; 
    node *next; 
}; 
node *front = NULL, *rear = NULL, *p = NULL, *np = NULL; 
2

olarak.

Bu arada, node bir sınıfsa, bu da işe yarar. Yapı, temel olarak tüm öğelerin varsayılan olarak halka açık olduğu bir sınıftır.

Başka bir öneri: C++ 11 işaretçilerinin başlatılması için nullptr anahtar kelimesine sahiptir. Bu daha ne olduğunu açıkça ifade eder. NULL, 0'a kadar genişleyen bir önişlemci makrosudür.