我们知道定义一个数组就等于定义了多个相同类型的变量,它们的类型是一样的。有时有这样的需求,如果我想保存一些信息,但每个信息类型不一定相同,这时该怎么办?我们就可以自己定义一类型,而这个类型,就是结构体,也可以叫结构。结构体允许我们将不同的类型组合起来,形成一个新的类型。
结构体定义语法,假如我们用来保存一个人的信息。struct Person
{
//名字
char name[20];
//年龄
int age;
//性别
char sex;
}
struct为关键字,后面跟结构体名字,也就是新类型的名字,名字规范和函数规范一样,只能是数字、字母、下划线且不能以数字开头。里面定义了各种类型变量,我这里定义年龄为int肯定不合理,这里只是举个例子而已。
结构体类型和基本类型是同级的,也就是能用int、char、short的地方就能用结构体,另外只是定义结构体是不会分配内存的,要用这个结构体声明变量后才会分配内存。
结构体的赋值struct AA
{
int aa;
int bb;
}
//声明结构体类型
struct TestStruct
{
char a;
short b;
int c;
int arr[5];
//定义一个结构体类型变量
AA x;
};
int main(int argc, char* argv[])
{
//声明变量
TestStruct ts;
//开始赋值
ts.a = 10;
ts.b = 20;
ts.c = 30;
//为数组赋值
ts.arr[0] = 1;
ts.arr[1] = 2;
//为结构体赋值
ts.x.aa = 3;
ts.x.bb = 4;
return 0;
}
如果要取值也很简单,int x = ts.a;就可以了,其余类推。
结构体在定义的时候可以使用任何类型,除了自身。
由于表达能力有限或其他一些原因,本站可能有少量错误,欢迎指正!
扫描关注个人博客QQ交流群共同探讨
此文为本站原创,由 陈成 发表,转载需要以链接形式注明出处