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