什么是结构体?

一. 首先什么是结构体?

其实结构体也是一种数据类型,只不过在这种数据类型中又包含了几个基本的数据类型;

但为什么要有结构体这种数据类型呢?试想一下,假如我们要描述一个学生的基本信息,那一个学生有年龄,有性别,有爱好等等,我们要描述这些,我们的基本类型可以吗?显然是不行的,所以我们必须用一个结构体将描述学生的基本信息组合起来,构成一种我们想要的类型;但结构体变量在内存中的存放和我们的基本数据类型变量在内存中的存放是不同的,基本数据类型的存放系统是会给他们分配一块连续的空间用来存放,而结构体变量确是不一定的。

下来我们在来看一下何为结构体指针:我们定义一个学生类型的结构体:

struct student{

int age;

char sex[10];

char hobby[10];

};

那这就是一个结构体,接下来我们就可以用这个结构体来定义变量啦; struct student *p,stu1,stu2,定义一个结构体类型的指针,然后在定义两个学生结构体类型的变量,现在我们的结构体变量已经定义好啦,意思就是已在内存中为它们分配了存储空间,但当我们把一种结构体定义完成之后,这时我们只是定义了一种类型,就和我们平常使用的 int,float ,double,一样,试想一下当你把int 放在你的编译软件上时,你的编译软件会给int这种数据类型分配空间吗?of course not;它只会为这种类型的数据分配空间,所以当我们把结构体这种由用户自定义的数据类型写好之后,这时的它是不占用存储空间的。

猜你喜欢

转载自blog.csdn.net/weixin_40797414/article/details/80045459