C语言中定义结构体及其变量
答案:3 悬赏:70
解决时间 2021-02-06 19:35
- 提问者网友:敏感魔鬼
- 2021-02-05 19:20
struct {int x;int y;int z;} a; 这种形式定义结构体对吗?我觉得struct后面少了 应该定义为e.g.struct Node{。。}这样吧 谢谢指正错误
最佳答案
- 二级知识专家网友:浪者不回头
- 2021-02-05 19:35
1.结构体类型数据的定义方法和引用方法
定义结构体:struct 结构体名
{
成员列表
};
定义结构体类型的变量:有三种形式
① 定义类型时定义变量:struct 结构体类型名
{
成员列表
}变量名列表;
② 直接定义结构类型变量:struct
{
成员列表
}变量名列表;
③ 由已定义的结构体类型来定义变量:struct 结构体类型名变量名列表;
引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的
变量:
结构体变量名.成员名
这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。
使用结构体时注意:
(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义
结构体类型,然后再定义变量属于该类型。
(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空
间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构
体类型变量占用内存的字节数是所有成员占用内存长度之和。
(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员
时,应采取外层向内层逐级访问的方法。
求采纳为满意回答。
定义结构体:struct 结构体名
{
成员列表
};
定义结构体类型的变量:有三种形式
① 定义类型时定义变量:struct 结构体类型名
{
成员列表
}变量名列表;
② 直接定义结构类型变量:struct
{
成员列表
}变量名列表;
③ 由已定义的结构体类型来定义变量:struct 结构体类型名变量名列表;
引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的
变量:
结构体变量名.成员名
这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。
使用结构体时注意:
(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义
结构体类型,然后再定义变量属于该类型。
(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空
间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构
体类型变量占用内存的字节数是所有成员占用内存长度之和。
(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员
时,应采取外层向内层逐级访问的方法。
求采纳为满意回答。
全部回答
- 1楼网友:白日梦制造商
- 2021-02-05 21:57
前面一个貌似少了一个 typedef,这样a直接就是结构体变量 ;后面一种是正确的,定义变量的时候需另外定义,struct Node a;
- 2楼网友:情窦初殇
- 2021-02-05 21:15
要知道这个问题很重的一个问题就是,指针的作用是什么,知道这个了你就知道为什么要定义指针了。
很简单的道理,如果你需要的是一个独立(或者说是一个孤立的值)的时候,你就不需要定义成指针。而当你的结构中包含了一系列的有序的数据或者是一系列数据对的时候就将其定义成一个指针。
原因在于,定义成一个指针的话方便你往下读取后面的数据,通过指针偏移就可以实现,或者你的数据分成了指针部分和数据部分的时候也需要定义成一个指针,对于这个 你学过数据结构的话就很好理解了。
祝你学习进步!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯