读书人

有关c语言和c++中定义struct 的方法?

发布时间: 2012-03-30 17:32:09 作者: rapoo

有关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一个意思

读书人网 >软件架构设计

热点推荐