【C语言的学习】第十三回合:结构体大集合

第十三回合:结构体大集合

A: 结构体:是数据结构类型,把有内在联系的不同类型的数据统一成一个整体,使它们相互关联。又是变量的集合,可以单独使用其的成员。

  定义:

       struct 结构体名 

  类型标识符  成员名1;

  类型标识符  成员名2;

    ……

;     //分号一定不能省

PS:  

(1)   结构定义并不预留内存,结构体变量的定义才引起存储分配

(2)   结构体成员的数据类型可以是C语言的基本数据类型,也可以是数组和指针类型。还可以是自定义类型,成员的排列不分先后次序

(3)   结构体名是合法命名的标识符

(4)   结构定义仅描述了一个结构的形式。如果要在程序里使用结构,需要声明结构变量。

B: 结构体的输入输出

(a)      结构体变量不能整体输入输出,要通过成员运算符“.”,逐个访问其成员

如:

声明:

   struct  date             

 {     int year; 

       int  month;

       int  day;

  };

struct date  birth

输出的格式:

正确的输出格式:

printf("%d, %d, %d"birth.year, birth.month, birth.day)

 

下面的方法是错误的:

printf("%d,%d, %d"birth)

C:结构体变量的初始化

(a)      一般形式:

结构体类型名  结构体变量= {初始表};

(b)      

1)间接初始化

strict  ST    

{    

int   num ;

     char name[20];

     char  sex;

     float score;

     struct date birthday;

 };

下面在main()中初始化

Struct STstudent  ={102,  "Zhangsan",  'M',  85,{1980,9,20}};

2)直接在结构体定义时初始化

   strict ST      

{    

int   num ;

     char name[20];

     char  sex;

     float score;

     struct date birthday;

 } student ={102,  "Zhangsan",  'M',  85,{1980,9,20} } ;

D结构体数组和结构体指针的定义、初始化跟上面的都一样,没什么不同。只不过结构体指针的访问除了用运算符“.”()访问,还可用指向运算符“->”访问(位置还是和用‘.’访问的位置一样)。


(复习做的笔记,还在整理中。。。。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值