p.address =“成都市“;
从第二种初始化方式来看,如果要使用一个结构体的字段,通过结构体变量.字段名就可以了。
结构体类型和其他类型一样,也可以用数组、指针等,有所不同的时候,当用一个结构体指针指向某个结构体变量时,如果要通过指针来使用结构体的字段,这时就不能再用「.」了,而是用「>」。比如说:
struct Person* sp =&p;
sp>name =“张三“;
sp>age = 1;
sp>sex =“男“;
sp>address =“成都市“;
当然了,每次声明变量时都都上struct关键字挺麻烦的,这个时候又轮到typede关键字上场了,只要在定义一个结构体使用它,后面在定义结构体变量时都不用再跟上struct关键字了。
typede struct
{
String name;
int age;
String sex;
String address;
} Person;
Person p;
p.name =“张三“;
p.age = 1;
p.sex =“男“;
p.address =“成都市“;
至于文件指针嘛,其实它就是一个名为FILE的结构体,通过调用一些列库函数可以实现对磁盘上的文件进行读写。
老爹说这个倒是不用死记硬背,因为有些东西的确挺繁琐的,只要查阅资料能够正确的使用就行了。
按照书上的例程,我和小弦子都尝试一下。因为不熟悉,我们俩都犯了不少的错。好在通过相互检查以及共同阅读编译时的错误信息,我们总算是成功地实现了文件的读写功能。
既然如此,立刻打开推箱子的游戏,直接进行实战,毕竟这个游戏从文件中加载地图数据以及保存每一步操作的状态信息还没有完成。一直以来,这都是我和小弦子的心病,时刻惦记着呢。
只要完成这两个功能,推箱子这个游戏就渐渐趋近于完美了。
正是基于此种原因,我和小弦子是干劲十足。学着老爹为我们分析公共能需求的过程,我和小弦子就这两个功能的实现以及函数的确定展开了激烈地争斗。
期间爷爷奶奶来我房间们劝导了好多次,让我们和气生财,有话好好说。
虽说这个形式上是有些不太好,但是效果倒是挺好了,很快我们就确定了数据保存和读取的格式。并且对细节进行了商定,最终形成了一个文档。
当然了,比起老爹之前给我们制定的设计概要文档来说,我们这个就显得有些粗浅了。但是这好歹是我们在不借助任何外力地作用下完成的,可以说是具有划时代的意义,因为我们实现了从0到1的过程。
接下来就是按图施工了,因为我们考虑欠妥,在代码实现的过程中可以说是状况百出,于是我们写的那份文档的内容在不停的修改,到了最后已经被改得面目全非了,我和小弦子两个缔造者居然都不认识。
好在我和小弦子都不是轻易放弃之辈,功能总算是在老爹回来之前给完成了!
多次测试没有问题后,我和小弦子尝试在文件中添加更多的地图数据,又经过多次测试,都没有出问题!
我和小弦子顿时信心大增,一鼓作气在网上找了足足30幅地图!