1、C语言基本类型:字符型,整型,浮点型
2、结构体(复杂类型):自定义类型 i
3、定义变量:为了分配空间
类型 变量名; //注:分配空间编译器通过类型来分配
初始化:定义变量同时赋值
3.1定义结构体(自定义)的类型
struct 类型名
{
属性1;
属性2;
属性3;
...
};
3.1.1无嵌套结构体:所有属性都是基本类型
//定义人的类型:人的信息(姓名,姓别,身高)
struct people
{
//姓名:
char name[10];
//性别
char sex;
//身高
unsigned short height;
};
3.1.2嵌套结构体:属性是一个结构体变量
struct people
{
...
struct *** 变量名;
...
};
3.2定义结构体变量:类型 变量名;
struct 类型名 变量名;
3.3引用结构元素:一定要通过结构体变量来引用属性。
.运算符 :引用复杂类型的成员
变量名.属性;
3.4结构体的分配空间法则:以最大字元素字节对齐 (*)
1、查找最大元素的类型
2、每个元素都分配以最大类型的最小的倍数。
3、共享空间?
注:gcc编译器可以指定对齐方式(这不是C语言的标准)
__attribute__((packed))
3.5结构体变量之间赋值: 注:同类型之间,不同类型的结构体是不能赋值的
struct people a,b;
a=b;