十二、结构体与共用体

本文详细介绍了C语言中结构体和共用体的概念与使用方法。包括结构体的定义、成员引用、初始化、数组及指针的应用,以及动态存储分配和链表的操作。同时,讨论了共用体的特点,枚举类型的使用,以及typedef在定义类型别名中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、结构体

一般形式:  struct  结构名

                   {

                           成员列表;

                   };

成员列表由若干个成员组成,每个成员必须作类型说明: 类型说明符  成员名;

(1)定义结构体类型变量的方法:

a.  先声明结构体类型再定义变量名 

    例: struct  student

             {

                   int  num ;

                  char  name[ 20 ] ;

                  char  sex ;

             } ;

            struct  student  student1 , studnet2;          //student1 和 student2 为变量名

b.  在声明类型的同时定义变量

     例: struct  student

              {

                   int  num ; 

                   char name[ 20 ] ;

                   char sex ;

              } student1 , student2 ;

c.  直接定义结构体类型变量(即不出现结构体名)

     一般形式:  struct 

                      {

                            成员列表;

                      } 变量名列表;

 

(2)结构体的嵌套

例:            

 

(3)结构体变量的引用

a.  不能将一个结构体变量作为一个整体进行输入和输出

     正确引用结构体变量中成员的方式为:结构体变量名 . 成员名

     例:打印 student1 中变量的值             student1.num 

     赋值:student.1num = 100 ;

b.  只能对最低级的成员进行赋值或存取以及运算 

c.  对结构体变量的成员可以像普通变量一样进行各种运算

d.  可以引用结构体变量成员的地址,也可以引用结构体变量的地址,结构体变量的地址主要用作函数参数,传递结构体变量的地址

e.  " 不能 "这样读入结构体变量   scanf ( " %d , %s , %c , %f " , &student1 ) ;要精确到最小的一个级别

(3)结构体变量的初始化

 

(4)结构体数组

定义结构体数组:

 

 

结构体数组的初始化:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值