用C语言写的数据结构的定义
我初学数据结构,看不太懂,下面的定义最好详细的解释一下,感谢...typedefstruct{elementypedata;//structnode*next;//}no...
我初学数据结构,看不太懂,下面的定义最好详细的解释一下,感谢...
typedef struct
{
elementype data; //
struct node *next; //
}node; // 展开
typedef struct
{
elementype data; //
struct node *next; //
}node; // 展开
7个回答
展开全部
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
在C语言中,定义一个结构的一般形式为:
struct结构名
{
//成员表列
};
成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
然后,当结构定义完成后,即创建了一种数据类型,可以像int、float等内置类型一样使用,以上面定义的stu结构体来和int类型对比着看。
int a;//定义一个int类型的变量a
stu a; //定义一个stu类型的变量a
int *p; //定义一个int类型的指针p
stu *p; //定义一个stu类型的指针p
int a[10];//定义一个int类型的数组a,它有10个元素,每个元素是int类型
stu a[10];//定义一个stu类型的数组a,它有10个元素,每个元素是stu类型。
在C语言中,定义一个结构的一般形式为:
struct结构名
{
//成员表列
};
成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
然后,当结构定义完成后,即创建了一种数据类型,可以像int、float等内置类型一样使用,以上面定义的stu结构体来和int类型对比着看。
int a;//定义一个int类型的变量a
stu a; //定义一个stu类型的变量a
int *p; //定义一个int类型的指针p
stu *p; //定义一个stu类型的指针p
int a[10];//定义一个int类型的数组a,它有10个元素,每个元素是int类型
stu a[10];//定义一个stu类型的数组a,它有10个元素,每个元素是stu类型。
展开全部
这是用来定义一个链表的节点的结构体,结构体名为node,结构体中有两个成员变量,一个为节点中的数据(data),数据类型为elementtype,另外一个为指向下一个节点的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个结构体,当你用node声明一个函数的时候,函数里面就会包括data和*next
比如:
node a;
a.data=10;
a.next->next;
比如:
node a;
a.data=10;
a.next->next;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef struct //typedef是表示定义类型。 (比如type int a; 那么就可以这样使用定义整型变量,a number;当然你这里所定义的就可以这样使用了
node another;就表示another也是一个结构体)
{
elementype data; // node当中的数据data;(这里的elementype表示你可 以有很多数据,比如int a;char address[10]等等)
struct node *next; // 定义了一个node当中指向下一个结点的next指针(比如当前结点是p,那么p->next就是指向下一个结点)
}node; // 定义了一个名叫node的结构
node another;就表示another也是一个结构体)
{
elementype data; // node当中的数据data;(这里的elementype表示你可 以有很多数据,比如int a;char address[10]等等)
struct node *next; // 定义了一个node当中指向下一个结点的next指针(比如当前结点是p,那么p->next就是指向下一个结点)
}node; // 定义了一个名叫node的结构
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个语句是2条语句复合成的。
首先typedef 表示数据类型重定义
表示将结构类型struct {elementype data;struct node *next;}重定义为node
以后就可以用node表示struct {elementype data;struct node *next;} 类型了
拆开写应该更好理解一些
struct node
{
elementype data; //elementype表示一种数据类型,可能是int/char等等
struct node *next; //next 指针,用于链表结构指向下一个节点
};
typedef struct node node; //重定义struct node类型为node
重定义后数据定义struct node mynode;就等价于node mynode;了
首先typedef 表示数据类型重定义
表示将结构类型struct {elementype data;struct node *next;}重定义为node
以后就可以用node表示struct {elementype data;struct node *next;} 类型了
拆开写应该更好理解一些
struct node
{
elementype data; //elementype表示一种数据类型,可能是int/char等等
struct node *next; //next 指针,用于链表结构指向下一个节点
};
typedef struct node node; //重定义struct node类型为node
重定义后数据定义struct node mynode;就等价于node mynode;了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |