看到结构体,那么大家肯定知道数组,学习结构体,把一维数组和它进行比较会比较容易理解。
一维数组:数组里的每个元素都是同种类型的元素,例如 int[3],里面的每个元素都是整数
结构体:结构体里面的元素可以不是同种类型的元素,例如
struct num {
int n;
char c;
int[3] m;
struct nu *next
}
这个结构体里的元素可以各种各样的,当定义好了结构体,它就可以像常用数据类型那样使用了,例如申明一个上面的结构体变量: struct num t;申明好了就可以像普通变量使用了,如要输出其中的某个值:printf("%d",t.n);
C语言中常用到的是为结构体指针分配空间,例如申请上面一个结构体空间:
struct num s; //定义一个结构体指针
s = (struct num)malloc(sizeof(struct num)); //分配一个结构体空间,指针s里存放的是所分配的结构体空间的起始地址,即指针s指向该分配的结构体空间;