结构体的应用
在C语言中,我们不免会遇到一些难以描述的对象,像一些动物呀,你在描述它的时候,需要将它的外形,体态,颜色,种类都应该讲出来。这时候我们引入结构体---struct(本义:结构,它是一个关键字,不需要我们再去定义)进行更好的描述。
#include
//创建一个结构体类型
struct book
{
char name[20];//字符数组
short price;//short其实可改为int,两者均可 ,这里的均属于我们创建的成员名
}; //这里的分号千万不能省略,它是这个类型定义的结束标志。
int main()
{
struct book b1={"C语言程序设计“,55};//将上面创建好的结构体类型进行填空,就例如有一张表格上面已经有了名字,将自己的名字填写进去就可以了。另外为什么C语言程序设计有双引号,55没有双引号呢?因为上面name的类型为字符数组,所以加双引号;而price的类型是整形,不需要加双引号。这分别也与下面的一一对应。
printf(“书名:%s\n”,b1.name); //结构体变量.成员名
printf("价格:%d\n",b1.price); //结构体变量.成员名
return 0;
}
以上代码可以采用指针,只需将主函数如下修改:
int main()
{
struct book b1={"C语言程序设计“,55};
struct book*pb=&b1;
printf(“书名:%s\n”,(*pb).name); //这里看着也挺繁琐的,其实再做出一步改变:将红色部分改为pb->name
printf("价格:%d\n",(*pb).price); //pb->price
return 0;
}