提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
c语言——结构体
1.结构体:存放不同类型的成员
和结构体相关的关键字 – struct
1》结构体数据类型的定义格式:
struct 结构体类型名{
成员;
};
struct :结构体的标志
struct 结构体类型名:新的构造的数据类型
struct 结构体类型名 类似于 int,char 仅仅是一个数据类型
定义完数据类型,没有空间
2》结构体的使用
定义方式:
a)先定义类型,之后定义变量
第一步,仅仅定义一个数据类型
struct Fruit{
char name[20];
float price;
};
第二步,定义变量
struct Fruit F1;
struct Fruit F2;
struct Fruit F3;
b)定义类型,同时定义变量
struct Fruit{
char name[20];
float price;
}F1,F2;
struct Fruit F3;
c)无名结构体 --只能定义类型的同时定义变量
struct{
char name[20];
float price;
}F1,F2;
**结构体取成员**
a)结构体普通变量取成员,用.
格式:结构体变量名.成员名
含义:变量名里面的XX成员,最终得到的是XX成员
struct Stu{
char name[20];
int ID;
float score;
};
struct Stu stu1;//stu1是struct Stu类型的变量
%s - stu1.name :得到char name[20]
%d - stu1.ID
%f - stu1.score
b)结构体指针变量取成员,用 ->
格式:结构体指针变量名->成员名
含义:结构体指针变量名指向的XX成员,最终得到的是XX成员
struct Stu{
char name[20];
int ID;
float score;
};
struct Stu stu1; //定义变量名
struct Stu *p = &stu1;
取成员:
p->name; – char [20] – %s
p->ID; – int --%d
p->score; --score --%f
2.共用体
关键字:union
union Tag{
成员;
};
含义:所有成员共用同一块空间
取成员方法:和结构体一样
共用体的大小:
第一步:确定对齐方式(和结构体一样)
第二步:只看最大成员,最大成员必须满足对齐方式的整数倍
应用:利用共用体,测试设备大小端。(大小端可自己百度)
测试大小端的目的:保证不同设备之间数据传输的准确性!
3.枚举
关键字:enum
含义:定义整型常量,一个整型常量的集合
一般使用:
enum {a,b,c,d,e,f};
含义:
a = 0;
b = 1;
c = 2;
。。。。
f = 5;
直接使用a,b,,,,即可,a的值就是0,b的值就是1,后面依次+1即可,(a,b,…都是整型常量)
特殊用法:
enum {a,b,c=100,d,e,f};
a = 0;
b = 1;
c = 100;
d = 101;
e = 102;
f = 103;
直接使用a,b,,,,即可,a的值就是0,b的值就是1,c的值是100,后面依次+1即可,(a,b,…都是整型常量)