--FLIE--当前编译的文件名 --FUNCTION--当前所在函数的函数名

--DATE--编译日期 --TIME--编译时间 以上格式占位符都用%S --LINE--当前行数 占位符用%d

typedef 类型名 小名 只能用于替换类型名

自定义数据类型:用户自己建立的数据类型 比如:有5个学生,我们要保存他们的信息,这些信息包括学生,姓名,考试成绩 我们如何写代码来保存这些数据呢 思路一:通过设置好多个变量来存储 思路二;自己设置一个类型,可以储存这些东西(相当于多个类型的融合) 结构体:C语言允许用户根据自己需要,自己建立的由不同类型数据组成的组合型的数据类型,我们把它称为结构体(相当于多个数据类型的集合)

struct 定义格式:struct 类型名 变量名; 为什么要用结构体: 结构体能根据用户需要来更方便的存储各种各样的信息

 结构体类型的应用:

struct 结构体类型的名字 { 定义成员;

};

struct student; { int id; char name; float score; };

声明的是一个类型名,而不是一个变量 struct student只是一个类型是多个类型的集合

通过结构体类型定义变量
格式:结构体类型名.结构体成员
student.id这种形式是错误的,应该将struct student 看成一个整体
所以应该是struct.id

结构体变量的初始化
格式:struct 结构体类型名 结构体变量名 = { 各个结构体成员的初始化值,他们之间用逗号连接 };

typedef (取别名)
只针对类型才能使用
方式一:typedef int g    这里的g就相当于是小名
方法二:typedef  struct student

{ 结构体成员;

}STU;

这里的STU就相当于是struct student 的小名

格式三:struct student { 结构体成员; }stu; 这里的stu是结构体类型的变量名