1、数组(相同数据类型的组合)在c语言中称之为概念,不认为是类型,不具备传递性,拷贝性;
2、先有指针再有数组,但是数组没有传递性,故提供结构体;
为了能够访问多个类型组合的空间,使得其局部传递性,拷贝性,自定义封装类型,从封装的行为上,分为两种行为,结构体,共同体;
3、
int a ;
float b;
结构体包:先定义类型再分配空间,最后使用;
语法行为:struct(关键词+包名){ int a;float b;};告知编译器,有一个新的类型(新的容器)不占空间;
分配新类型
struct 包名 变量名;
int 变量名;封装形式:累加;将成员堆积,结构体为了访问效率会自动进行内存对齐的行为;
共用体:union 包名 变量名(共用体共用空间的基地址,大小是成员的最大值);
typedef 语法:(类型别名)
给数据类型起一个别名;
typedef int len_t;
把typedef定义的语句中typedef删除
int len_t;定义一个叫做len_t的int类型的变量;
加入typedef
typedef int len_t;定义一个叫做len_t的int类型的别名;