数据结构中 typedef struct 用法
在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为:
struct 结构体名{
结构体所包含的变量或数组
};
结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。
结构体定义:
第一种:只有结构体定义
struct stuff{
char job[20];
int age;
float height;
};
第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义
//直接带变量名Huqinwei
struct stuff{
char job[20];
int age;
float height;
}Huqinwei;
也许初期看不习惯容易困惑,其实这就相当于:
struct stuff{
char job[20];
int age;
float height;
};
struct stuff Huqinwei;
第三种:如果该结构体只用一个变量Huqinwei,而不再需要用struct stuff yourname;去定义第二个变量。
那么,附加变量初始化的结构体定义还可进一步简化出第三种:
struct{
char job[20];
int age;
float height;
}Huqinwei;
把结构体名称去掉,这样更简洁,不过也不能定义其他同结构体变量了——至少我现在没掌握这种方法。
结构体变量及其内部成员变量的定义及访问。
要分清结构体变量和结构体内部成员变量的概念。
就像刚才的第二种提到的,结构体变量的声明可以用:
struct stuff yourname;
其成员变量的定义可以随声明进行: struct stuff Huqinwei = {"manager",30,185};
也可以考虑结构体之间的赋值:
struct stuff faker = Huqinwei;
//或 struct stuff faker2;
// faker2 = faker;
打印,可见结构体的每一个成员变量一模一样
如果不使用上边两种方法,那么成员数组的操作会稍微麻烦(用for循环可能好点)
Huqinwei.job[0] = 'M';
Huqinwei.job[1] = 'a';
Huqinwei.age = 27;
Huqinwei.height = 185;
结构体成员变量的访问除了可以借助符号".",还可以用"->"访问。
扩展资料:
结构体数组与结构体指针:
一个结构体变量中可以存放一组数据;如一个学生的学号、姓名、成绩等数据。如果有10个学生的数据需要参加运算显然应该用数组,这就是结构体数组结构体数组与以前介绍过的数值型数组不同之处:每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员(分量)项。
结构体指针和其他类型的指针都是一样的理解,在32位平台不管啥类型的指针都占4个字节的空间。
结构体指针就是指向结构体变量的指针;如果一个指针变量中保存了结构体变量的首地址,那么这个指针变量就指向该结构体变量.通过结构体指针即可访问该结构体变量,这与数组指针和函数指针的情况是相同的结构指针变量说明的一般形式为:
struct 结构体名 *结构体指针变量名struct student *p = &Boy; //假设事先定义了 struct student Boy。
参考资料来源:
百度百科-struct
-
佚名2024-05-26 02:17:40
问数据结构 为什么这个变量这么取名字?
答这是struct 类型定义 ,定义后,可直接使用CTNode代替struct CTNode使用类型名称放前放后是一样的
-
佚名2024-05-26 06:15:05
问咨询~在数组中输入课程名称 该怎么定义数组的,比如我想在a[1]中输入“离散数学”a[2]中输入“数据结构”
答定义二维数组。 char a[m][n],m为课程数,n为课程名称最大长度。或者字符串数组 char * a[m].
-
佚名2024-05-26 14:37:35
问如何用excel做数据库的方法
答方法:第一步:建立每人一个的工作表并取名子;第二步:右键点A18单元格→超链接→本文档中的位置→点张三→要显示的文字→张三→确定。若人员多的情况下,每个人的表要...
-
佚名2024-05-26 05:20:10
问硬笔书法 字的结构
答其实学习书法,说一千道一万最重要的事情还是临摹。既然你感觉到结构不舒服,那就对照原帖一笔一笔地看,这是最好的自我学习。 自古以来就有很多人说笔画、结构,其实这两...
-
佚名2024-05-26 08:00:00
问编程中,循环结构会用到计数器。计数器常用的字母有i,j,k,为何经常用这几个字母呢?
答i 是 index的首字母,数学上数列的下标就叫index,所以常用 i 做下标;编程时数组定位单元也叫index,由于循环经常就是用来处理数组,于是就习惯了用...
-
佚名2024-05-26 08:00:00
问如何取一个数据结构变量的字节数
答1. sizeof是一定行的,无论你的参数有多复杂,至于你说的内存对齐问题,用#pragma pack(1) 强制数据结构单字节对齐。2. 我不明白你说的x1占...
-
佚名2024-05-26 08:00:00
问数据结构的回文是怎么样解释的??
答如:12321,34543,像这样的就是回文
-
佚名2024-05-26 08:00:00
问录音(音频)数据结构,编码方式。
答常规录音(音频)进入计算机的编码方式有PCM编码,PMEG2 audio编码,MP3编码,AAC,WMA之类的编码,挺多的。录音的话,一般都是先用一个压变电阻,...
-
佚名2024-05-26 08:00:00
问数据结构。。*CSTree是干什么的。定义一个结构,用CSNode代表他的名字,后面怎么有个
答CSTree 是*CSNode的别名,表示CSNode类型的指针
-
佚名2024-05-26 08:00:00
问数据结构什么是最小生成树?有几种方式构造
答普里姆算法的基本思想:取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w。在添加的顶点 w 和已经在生成树上的顶点v 之间必定存在一条边,并...
风水
起名
网名
- 1 CK网名
- 2 虚拟局域网名词解释
- 3 闺蜜网名带自己的名字大全
- 4 北辰对应的情侣网名
- 5 吃鸡网名好听的名字
- 6 音乐运动爱好者的昵称
- 7 通讯录设置不显示昵称
- 8 全民k歌怎么看别人昵称
- 9 微信欢乐斗地主改昵称
- 10 怎样把微信昵称从横变竖
说说
- 1 个性签名骂贱人
- 2 手指连心的个性签名
- 3 关于手纹杂乱的个性签名
- 4 喜欢礼服的个性签名
- 5 小公主的说说
- 6 不领情的说说
- 7 你给不了我想要的说说
- 8 诗与梦说说
- 9 旅游时想家的说说
- 10 赞美教师节快乐的心灵说说