结构体听上去就以为专业性很强,硬梆梆的,不够友好。我们换个说法,其实它就是一“机票”。对,“飞机票”的格式。数组
呃,通常的写法是这样的:ide
struct Ticket{ (“机票”这种类型约定首字母大写)spa
char name[20] (乘客姓名)指针
char airline[10] (航班)it
int takeoff (起飞时间)class
int arrive (到达时间)变量
(还有一些乱七八糟的信息,略)引用
}passenger1,passenger2; (“乘客一、乘客2”变量名约定所有小写。注意分号)di
而后,对“乘客一、乘客2”录入对应的姓名啥的,就能够用了。能够继续添加新乘客,而后出票。若是后面跟的变量名比较多,能够不用紧跟在struct的“}”屁股后面去定义,好比像下面这样另取一行:时间
struct Ticket passenger1,passenger2;
上面两种是最经常使用的写法,其余的表达方式就别管他了,吃饱了撑着的人才会去记。
接下来是想得到乘客1的“到达时间”怎么作?“passenger1.arrive”,就像VB里取属性同样,专业说法称为“引用”。如何初始化所有乘客信息呢?“passenger1={“Lining”,"MF3678",1600,1900};”。
结构体数组就是一种应付许多“乘客”的一种策略。20个乘客写做“passenger[20]”,passenger[1]至关于“乘客1”。显然,在“passenger[1]”里面包含了“机票”上所应有的所有信息。有了数组这个抽象的东西,就不用逐个去定义struct变量了。
结构体指针,把结构体看成一种变量类型,按指针变量进行操做。一开始不习惯,摸熟了脑子就转过弯来了。仍是以“机票”为例:
struct Ticket passenger1; (声明结构体变量)
struct Ticket *point; (声明结构体指针变量point)
point=&passenger1;(取passenger1地址)
而后有如下等价形式:
passenger1.name = (*point).name = point->name (最后这个“->”称为“指向运算符”,指针变量专属哦!)