首頁(yè) 現(xiàn)實(shí)

程序媛養(yǎng)成計(jì)劃

第五十四章 尾聲(二)

程序媛養(yǎng)成計(jì)劃 任煦之秋 2069 2020-05-27 22:37:25

  今天的老爹似乎有些著急,在講完枚舉類型后又風(fēng)風(fēng)火火地把結(jié)構(gòu)體和文件指針講了一遍,也沒(méi)有問(wèn)我們有沒(méi)有聽(tīng)懂,就草草地結(jié)束了C語(yǔ)言的所有課程。

  「孩子們,C語(yǔ)言的基礎(chǔ)課咱們就上到這兒,但是你們一定要記住,這并不意味著這條路已經(jīng)走到了重點(diǎn)。

  相反,其實(shí)你們才剛剛起步。有道是師父領(lǐng)進(jìn)門,修行在個(gè)人。作為你們的領(lǐng)路人,我也只能帶你們走到這里了,接下來(lái)的漫漫編程路,就需要你們自己上下而求索。

  其實(shí)除了這些,C語(yǔ)言還有多線程、網(wǎng)絡(luò)套接字、數(shù)據(jù)庫(kù)等各種高深的知識(shí),如果你們想要了解這些技術(shù),就得靠你們自己通過(guò)網(wǎng)上的資料學(xué)習(xí)了。你們現(xiàn)在具備的知識(shí),已經(jīng)足夠支撐你們?nèi)W(xué)習(xí)這些東西了。

  學(xué)習(xí)完這些知識(shí),你們已經(jīng)就正式升級(jí)成為了一名編程菜鳥(niǎo),雖然還是菜鳥(niǎo),但是脫離了「小」的范疇,這意味著你們已經(jīng)具備了在程序世界里飛翔的能力。

  所以你們可以嘗試著探索這個(gè)世界,慢慢地解開(kāi)它的神秘面紗。興許在途中會(huì)遇到狂風(fēng)暴雨,電閃雷鳴,也會(huì)穿越荊棘,經(jīng)歷沼澤,但是希望你們能夠越挫越勇,那些殺不死我們的,只會(huì)讓我們更強(qiáng)大!」

  聽(tīng)老爹這話,是準(zhǔn)備對(duì)我們進(jìn)行放羊,任由我們自生自滅的節(jié)奏啊!在我還沒(méi)有反應(yīng)過(guò)來(lái),老爹便和老媽出門去了,只留下我和小弦子面面相覷。

  「爺爺奶奶,老爹老媽這是怎么了?」

  我一臉懵逼地望著爺爺奶奶詢問(wèn)道。

  「你媽媽身體有些不舒服,你老爹陪她去醫(yī)院看看?!?p>  「難怪老爹一反常態(tài),原來(lái)是老媽身體不適哦!切,果然是為了老婆,連基本的職業(yè)操守都沒(méi)有了?!?p>  不過(guò)鄙視歸鄙視,我還是有些擔(dān)心老媽的情況的。

  「那是他們大人的事情,你一個(gè)小孩兒擔(dān)心也沒(méi)有什么用,你要做的就是管好自己,別成為他們的累贅?!?p>  眉頭緊皺的我聽(tīng)了小弦子的話后真的想兩腳踹死他,雖然他說(shuō)得很有道理,但是也太難聽(tīng)了,什么叫累贅?

  于是乎我和小弦子把老爹先前快速講的內(nèi)容給重新回顧了一邊,按照書(shū)上寫(xiě)了幾個(gè)例程調(diào)試。

  其實(shí)結(jié)構(gòu)體也不難,它就是由若干個(gè)數(shù)據(jù)類型組合而成。比如說(shuō)我們需要在C語(yǔ)言中用一種數(shù)據(jù)類型來(lái)描述一個(gè)人,那么用結(jié)構(gòu)體就非常合適。

  描述一個(gè)人的基本信息無(wú)非是姓名、年齡、性別和地址,如果用一個(gè)結(jié)構(gòu)體來(lái)定義人這種事物的話,就是:

  struct Person

  {

  String name;

  int age;

  String sex;

  String address;

  };

  如果我們要聲明一個(gè)Person變量,也需要使用struct關(guān)鍵字:

  struct Person p;

  對(duì)于結(jié)構(gòu)體變量的初始化有兩種方式,一種在聲明時(shí)就初始化:

  struct Person p ={“張三“, 18,“男“,“CD市“};

  這種方式有點(diǎn)像是數(shù)組,在大括號(hào)中給每一個(gè)字段賦值,字段之間用逗號(hào)隔開(kāi)。當(dāng)然了,如果是字符串,需要用雙引號(hào),字符單引號(hào)。

  除此之外,還有一種初始化方法:

  struct Person p;

  p.name =“張三“;

  p.age = 18;

  p.sex =“男“;

  p.address =“CD市“;

  從第二種初始化方式來(lái)看,如果要使用一個(gè)結(jié)構(gòu)體的字段,通過(guò)結(jié)構(gòu)體變量.字段名就可以了。

  結(jié)構(gòu)體類型和其他類型一樣,也可以用數(shù)組、指針等,有所不同的時(shí)候,當(dāng)用一個(gè)結(jié)構(gòu)體指針指向某個(gè)結(jié)構(gòu)體變量時(shí),如果要通過(guò)指針來(lái)使用結(jié)構(gòu)體的字段,這時(shí)就不能再用「.」了,而是用「->」。比如說(shuō):

  struct Person* sp =&p;

  sp->name =“張三“;

  sp->age = 18;

  sp->sex =“男“;

  sp->address =“CD市“;

  當(dāng)然了,每次聲明變量時(shí)都都上struct關(guān)鍵字挺麻煩的,這個(gè)時(shí)候又輪到typedef關(guān)鍵字上場(chǎng)了,只要在定義一個(gè)結(jié)構(gòu)體使用它,后面在定義結(jié)構(gòu)體變量時(shí)都不用再跟上struct關(guān)鍵字了。

  typedef struct

  {

  String name;

  int age;

  String sex;

  String address;

  } Person;

  Person p;

  p.name =“張三“;

  p.age = 18;

  p.sex =“男“;

  p.address =“CD市“;

  至于文件指針嘛,其實(shí)它就是一個(gè)名為FILE的結(jié)構(gòu)體,通過(guò)調(diào)用一些列庫(kù)函數(shù)可以實(shí)現(xiàn)對(duì)磁盤上的文件進(jìn)行讀寫(xiě)。

  老爹說(shuō)這個(gè)倒是不用死記硬背,因?yàn)橛行〇|西的確挺繁瑣的,只要查閱資料能夠正確的使用就行了。

  按照書(shū)上的例程,我和小弦子都嘗試一下。因?yàn)椴皇煜?,我們倆都犯了不少的錯(cuò)。好在通過(guò)相互檢查以及共同閱讀編譯時(shí)的錯(cuò)誤信息,我們總算是成功地實(shí)現(xiàn)了文件的讀寫(xiě)功能。

  既然如此,立刻打開(kāi)推箱子的游戲,直接進(jìn)行實(shí)戰(zhàn),畢竟這個(gè)游戲從文件中加載地圖數(shù)據(jù)以及保存每一步操作的狀態(tài)信息還沒(méi)有完成。一直以來(lái),這都是我和小弦子的心病,時(shí)刻惦記著呢。

  只要完成這兩個(gè)功能,推箱子這個(gè)游戲就漸漸趨近于完美了。

  正是基于此種原因,我和小弦子是干勁十足。學(xué)著老爹為我們分析公共能需求的過(guò)程,我和小弦子就這兩個(gè)功能的實(shí)現(xiàn)以及函數(shù)的確定展開(kāi)了激烈地爭(zhēng)斗。

  期間爺爺奶奶來(lái)我房間們勸導(dǎo)了好多次,讓我們和氣生財(cái),有話好好說(shuō)。

  雖說(shuō)這個(gè)形式上是有些不太好,但是效果倒是挺好了,很快我們就確定了數(shù)據(jù)保存和讀取的格式。并且對(duì)細(xì)節(jié)進(jìn)行了商定,最終形成了一個(gè)文檔。

  當(dāng)然了,比起老爹之前給我們制定的設(shè)計(jì)概要文檔來(lái)說(shuō),我們這個(gè)就顯得有些粗淺了。但是這好歹是我們?cè)诓唤柚魏瓮饬Φ刈饔孟峦瓿傻模梢哉f(shuō)是具有劃時(shí)代的意義,因?yàn)槲覀儗?shí)現(xiàn)了從0到1的過(guò)程。

  接下來(lái)就是按圖施工了,因?yàn)槲覀兛紤]欠妥,在代碼實(shí)現(xiàn)的過(guò)程中可以說(shuō)是狀況百出,于是我們寫(xiě)的那份文檔的內(nèi)容在不停的修改,到了最后已經(jīng)被改得面目全非了,我和小弦子兩個(gè)締造者居然都不認(rèn)識(shí)。

  好在我和小弦子都不是輕易放棄之輩,功能總算是在老爹回來(lái)之前給完成了!

  多次測(cè)試沒(méi)有問(wèn)題后,我和小弦子嘗試在文件中添加更多的地圖數(shù)據(jù),又經(jīng)過(guò)多次測(cè)試,都沒(méi)有出問(wèn)題!

  我和小弦子頓時(shí)信心大增,一鼓作氣在網(wǎng)上找了足足30幅地圖!

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書(shū)架
加入書(shū)架
書(shū)頁(yè)
返回書(shū)頁(yè)
指南