在C语言中定义一个结构体,要最好使用typedef,使用typedef,实际上就是为我们的结构体起了一个新的名字,即定义了一个新的类型,在后面书写自己代码的时候,就可以直接使用自己定义的新的类型第一变量。
例如
#includetypedef struct{ int num; struct Node *next;}Node;int main(){ Node n; n.num=111; printf("%d",n.num); return 0;}
通过使用Typedef,我们定义结构体为新的结构类型——Node,后面使用时,可以直接使用Node定义变量。
#includestruct Node{ int num; struct Node *next;};int main(){ struct Node n; n.num=111; printf("%d",n.num); return 0;}
但是,没有typedef时,我们在后面声明变量时,一定要指明Node是一个结构体,否则,编译器不知道Node类型变量的存在。
总之,在C语言中,typedef就是为struct XX起一个别名,方便后面书写。
但是在C++中,就没有这种要求。
#includeusing namespace std;struct Node{ int num; Node *next;};int main(){ Node n; n.num=111; cout<
可见,在C++中,只要一次声明了结构体作为新的类型,后面便可以直接使用。