C语言结构体的声明和定义

仅写了(我)常见的3种。

①.结构体的声明

struct  结构体名  {成员1;成员2;};//分号表示结束

struct book 

        { char name[10] ;

        char author[20]; 

        float price;

}; //分号不可少

此时声明了一个结构体struct的类型,它由3个成员组成,分别为name,author,price。

做了这个声明之后,我们可以进行方便的定义,如: struct book Life.即定义了一本类型为book,变量名叫Life的书。

②.结构体声明+定义

struct  结构体名  {成员1;成员2;} 变量名;//分号表示结束

struct book  { char[10] name; int size; } Life;

其等效于①的声明+定义。

③.使用typedef来声明

(typedef  A  B后,A就是B的别名)

typedef   struct  结构体名  {成员1;成员2;}         变量名;

或者

typedef   struct  {成员1;成员2;}                         变量名;

eg:typedef   struct { char[10] name; int size; }   book;

即,中间的 结构体名 可以省略。该一顿操作是定义了一个struct的同时,直接将其typedef换了一个名字,下次使用结构体不用再些struct,如定义:book Life。而使用①的定义方式 需要这样用:struct book Life。 这是因为③使用了typedef关键字,使用之后book就直接等于 struct { char[10] name; int size; } 这么长的数据。

实际开发过程中见的③居多。

other:另附两种引用结构体成员的方法。

1.结构体.成员。         eg: book.size=100;  

2.结构体指针->成员。eg: struct* pbook= &book;          pbook->size=100;

该文章仅作为一时兴起的笔记,可能存在错误。如帮到您,我很荣幸,如有错误请多多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值