当前位置: 代码迷 >> C语言 >> [求助]关于结构体的定义的问题
  详细解决方案

[求助]关于结构体的定义的问题

热度:131   发布时间:2005-12-06 23:58:00.0
[求助]关于结构体的定义的问题
各位大侠,我一直都搞不懂结构体的定义,
请问定义结构体究竟有几种形式,各有什么作用,互相有什么优劣的地方.
谢谢了!
搜索更多相关的解决方案: 结构体  定义  

----------------解决方案--------------------------------------------------------
struct 结构题名称
{
数据类型 变量名;
数据类型 变量名;
... ...
}结构变量;
例子:
struct student
{
char(10) s_name;
int s_age;
int s_id;
}s[5];


----------------解决方案--------------------------------------------------------
struct 结构题名称
{
数据类型 变量名;
数据类型 变量名;
... ...
}结构变量;
例子:
struct student
{
char s_name[10];
int s_age;
int s_id;
}s[5];
不好意思,学混淆了。。


----------------解决方案--------------------------------------------------------

谢谢卡拉是只猫了.
但我还有疑问.
如下面两个定义中:
typedef struct {
Elemtype *elem;
int length;
int listsize;
}Sqlist;


typedef struct LNode{
Elemtype data;
struct Lnode *next;
}LNode,*LinkList;

上面那个的定义我看的懂,但下面那个的定义我看不懂啊!
请指点.


----------------解决方案--------------------------------------------------------
其实可以分开看的
edef struct LNode LNode
edef struct LNode *LinkList
----------------解决方案--------------------------------------------------------
在这里我也有个问题
就是那个用*,和不用有什么区别,
我给忘记了!!!!
----------------解决方案--------------------------------------------------------
用*就是指针变量,不用就是一般的普通变量.
----------------解决方案--------------------------------------------------------
我晕,继续讨论,
我人为结构体是为<<数据结构>>打基础,


----------------解决方案--------------------------------------------------------
typedef struct LNode{ //这个加的LNode是什么意思啊?
Elemtype data;
struct Lnode *next;
}LNode,*LinkList; //这个为什么有两个:LNode和*LinkList?加*号是为什么?
----------------解决方案--------------------------------------------------------

前面的LNODE 是结构体类型名,后面是结构体变亮名

加*号是说明这个指针指向的是结构体的指针.


----------------解决方案--------------------------------------------------------
  相关解决方案