本文约4500字,主要讲了结构体和共用体。
带你进入C语言的世界,入门C语言,后边将持续更新。可以收藏学习。想了解无参宏定义、带参宏定义以及案例等,请点击该处跳转阅读。
本文全干货,新手必备,感谢你的阅读,祝你学有所成,生活愉快!
一、概述
问题定义:有时需要将不同类型的数据组合成一个有机的整体,以便于引用。
如:一个学生有学号/姓名/性别/年龄/地址等属性 int num; char name[20]; char sex; int age; int char addr[30];
![2395bf50f7d5c46547049426dfd79a73.png](https://i-blog.csdnimg.cn/blog_migrate/bd1d34bbb717f9238e83db3f86b07a01.jpeg)
定义一个结构的一般形式为:
struct 结构名
{成员表列};
成员表列由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:
类型说明符 成员名;
例如:
struct student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];};
二、定义结构体类型变量的方法
可以采取以下3种方法定义结构体类型变量:
(1)先声明结构体类型再定义变量名
![8c0da9e38e99c6bbce6b4d488527212b.png](https://i-blog.csdnimg.cn/blog_migrate/53bb74a2f053cf1007411e03caaa6f76.jpeg)
定义了student1和student2为struct student类型的变量,即它们具有struct student类型的结构。
例如:
struct student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
} student1, student2
在定义了结构体变量后,系统会为之分配内存单元。
例如: student1和student2在内存中各占多少个字节。
(4 + 20 + 1 + 4 + 4 + 30 =67)。
(2)在声明类型的同时定义变量
这种形式的定义的一般形式为:
struct 结构体名
{成员表列
}变量名表列;
例如:
struct student
{ int numÿ