概念
结构体本质上是一种数据类型
结构体中的变量或数组,叫做结构体的成员
结构体可以包含其他结构体
结构体也是一维数组,用
.
获取单个成员
结构体是一种自定义的数据类型,是创建变量的模板,不占用内存空间,结构体变量则占用内存空间
结构体
创建
结构体是一种数据类型,可以用来定义变量
struct stu{
char* name;
int num;
}; // 注意分号
// 定义变量
struct stu stu1,stu2; // 必须加上关键字
// 在定义结构体的同时可以定义结构体变量
struct str{
char* name;
int num;
} stu1,stu2;
// 在结构体外,对成员进行赋值
stu1.name="tom";
stu1.num=12;
struct str{
char* name;
int num;
} stu1={"tom",1};
结构体数组
https://blog.csdn.net/L_fengzifei/article/details/126382264
结构体指针
https://blog.csdn.net/L_fengzifei/article/details/126411708
枚举类型
enum typename{var1,var2,...}
枚举值默认从0开始
枚举列表中的标识符是常量,不能对再进行赋值
可以把枚举类型 类比成 宏定义 #define name var
与宏定义不同的是:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值
enum week{Mon,Tues}; // 默认从1开始
enum week{Mon=1,Tues}; // 部分赋值,从1开始
enum week{Mon=1,Tues=2}; // 全部赋值
定义变量
enum week a,b,c;
enum week{Mon=1,Tues=2} a,b,c;
// 对定义的变量进行赋值
enum week{Mon=1,Tues=2};
enum week a=Mon,b=Tues;
enum week{Mon=1,Tues=2} a=Mon,b=Tues;
共用体
共用体与结构体的区别:
结构体的各个成员会占用不同的内存,互相之间没有影响
共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员