0x00 前言/概述

什么是结构体?为了便于引用数据,有时需要用不同的数据组合成一个有机的整体,而这样的整体中则是互相影响,相互联系。比如一个人的基本资料:编号,姓名,性别,地址(如下)。c语言中把这样自己指定的组合项称为结构体(structure)。

num name sex addr
1 Ruilin M Shanxi

 

0x01 如何定义

如上图就是我们想要的结构体,接下来我们用代码来建立

OK,大家应该一眼就能看懂他的语法结构了

其中成员列表由两部分组成: 类型名 成员名

 

上面所讲只是指定了一个结构体类型,而其中并无具体数据,所以我们应当定义结构体类型的变量并在其中存放具体数据。以下为3种方法。

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

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

一般形式:

 

3.直接定义结构类型变量

 

 

接下来如何使用呢?他的引用方式

结构体变量名.成员名

如:

person.num=1

 

结构体变量的初始化

输出:

2345截图20151231171440

结构体数组

一个结构体变量中可以存放一组数据,就像我们开头的那个表格,那么为了增加多个行(多个人的资料)这时可以用数组来构成。结构体数组每个数组元素都是一个结构体类型的数据,他们分别包括各个成员(分量)项。

初始化

 

即一般形式是在定义数组后加:=初值表列

 

最后如下:

num name sex addr
per[0] 1 Ruilin M Shanxi
per[1] 2 Lihua M Beijing
per[2] 3 Zhaohong F Shanghai

未完.待续

0x02 指针与结构体

0x03 指针与链表