有关c语言和c++中定义struct 的方法?
以下几种表示方法,有什么区别?
1.
typedef struct node{
ELemType data;
struct node * next;
}Node;
上述代码中 node 和Node 有何不同?
2.
sruct Node{
ELemType data;
struct Node * next;
};
3.
typedef struct node{
ELemType data;
struct node * next;
}Node * LinkList;
4.
sruct Node{
ELemType data;
Node * next;
}* list ,*event;
希望好心人给我解释?
Thank you very much!
[解决办法]
1.Node是别名,即在程序中Node和struct node的效果是等同的,例如:
Node test;
struct node test;
这两种声明意义相同;
2.同1楼;
3.你是不是少了个逗号?Node意义和1中相同,Linklist则代表一个Node结构体指针,例如
Node t1;
Linklist t2;
t1代表一个结构体,你可以对结构体中内容进行赋值,而t2是一个结构体指针(意义和&t1相同),在没有分配内存时无法进行操作;
4.list和event意思一样,和3中Linklist一个意思
[解决办法]
楼主刚学的c语言吧,二楼说的完全正确:
1.Node是别名,即在程序中Node和struct node的效果是等同的,例如:
Node test;
struct node test;
这两种声明意义相同;
2.同1楼;
3.你是不是少了个逗号?Node意义和1中相同,Linklist则代表一个Node结构体指针,例如
Node t1;
Linklist t2;
t1代表一个结构体,你可以对结构体中内容进行赋值,而t2是一个结构体指针(意义和&t1相同),在没有分配内存时无法进行操作;
4.list和event意思一样,和3中Linklist一个意思