1. 背景
我们发现,在现实生活中用一种数据类型来描述一个对象或物体是非常不现实的。比如说描述一个人,我们往往要知道他的身高,年龄,体重等等等。所以我们就出现了结构体这么一种数据类型。结构体内包含了多种的数据类型,这就更加方便我们在程序中去描述一件事物。
2. 结构体语法
创建结构体
struct stu
{
char name[10];
char Id[11];
float score;
};
它是一种用户自定义的数据类型,它里面包含着我们经常使用的基本数据类型。切记:这里的struct stu也是一种数据类型,是同int,float等等同属一个大类的。
同时结构体内部也能包含结构体。
struct techer
{
struct stu lihua;
char name[10];
int age;
int height;
};
可见,这个名为老师的结构体内部也定义了一个结构体类型的变量。
声明结构体
声明一个结构体就很简单了,就如同声明一个int a 一样,依葫芦画瓢便可得到:
struct stu lihua;//第一种声明方法,在结构体构建完成后使用。
struct stu
{
//这边是有关描述stu的数据
}lihua;//第二种声明方法,在结构体构建后紧接着声明。
结构体初始化
下面将在上面struct stu的基础上进行结构体声明并且初始化
strcut stu lihua = {"lihua","11451419198",10};
结构体内的结构体进行初始化也是按照相同的模式
struct techer kangkang = {{}, , , ,}
大括号内填写相应的事物。
结构体访问成员
printf("%s,%s,%f",lihua.name,lihua.Id,lihua.score);
可见,结构体访问成员只需在其结构体变量名后加'.'再添加其成员名即可。
同时,还有另外一种访问结构体成员的方式
struct stu * plihua = &lihua;//获得结构体的地址,plihua为结构体指针变量
printf("%s,%s,%f",plihua->name,plihua->Id,plihua->score);
这就是通过结构体指针来访问结构体成员变量的方式:在指针变量后加上箭头再加上成员变量名以达到访问成员变量的效果。