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

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

第四十六章 指針(一)

程序媛養(yǎng)成計(jì)劃 任煦之秋 2131 2020-05-19 21:57:59

  「只有上帝知道那段代碼是什么意思,因?yàn)闆](méi)有注釋?zhuān)雮€(gè)月后程序員自己也不知道當(dāng)初寫(xiě)的代碼是用來(lái)干嘛的了?!?p>  六叔叔笑了笑,然后接著說(shuō)道:「這句話(huà)還在我剛學(xué)習(xí)編程的時(shí)候你老爹就給我說(shuō)過(guò),當(dāng)時(shí)我不以為然,甚至有些嗤之以鼻。

  我覺(jué)得只有那些凡人才會(huì)犯這種低級(jí)錯(cuò)誤,不曾想在我度過(guò)國(guó)慶節(jié)再回去工作爹時(shí)候,已經(jīng)全然忘記節(jié)前寫(xiě)的代碼是用來(lái)干什么的了。

  所以關(guān)于這一點(diǎn),我還是很贊同你老爹的說(shuō)法的,雖然到現(xiàn)在我都不怎么喜歡寫(xiě)注釋?!?p>  果然,有其父必有其子,小弦子在說(shuō)「你們這些凡人」的時(shí)候無(wú)論語(yǔ)氣口吻,還是神情舉止都和六叔叔是一模一樣。那種不把所有人放在眼里,睥睨天下的氣勢(shì)讓人真的恨不得上前就是兩鞋底拍臉上。

  既然連六叔叔都這么說(shuō)了,那以后還是寫(xiě)些注釋吧!

  剩下的一些時(shí)間,老爹讓我和小弦子自己安排,我們休息了一會(huì)兒,就開(kāi)始著手寫(xiě)新的推箱子程序。

  按照老爹的設(shè)計(jì)概要文檔,因?yàn)樗悸非逦?,?shí)施起來(lái)效率的確是提高了不少。在小弦子離開(kāi)的時(shí)候,除去和文件讀寫(xiě)相關(guān)的內(nèi)容,幾乎已經(jīng)完成了百分之八十。

  送走了小弦子一家之后,我抱著薯片坐在沙發(fā)上陪爺爺奶奶看電視,老媽則是在一旁整理她今天和小鹿阿姨逛商場(chǎng)的戰(zhàn)利品,分別派送到我們手上。

  爺爺奶奶和我都有,當(dāng)然老媽也不可能忘了她自己,唯獨(dú)只有老爹慘兮兮的,什么都沒(méi)有。

  「唉,這是個(gè)什么世道哦!」

  老爹幽怨地看了老媽一眼,搖頭嘆息道。

  「前年不是給你買(mǎi)了5套格子衫配休閑褲噠嘛?而且你辛苦賺錢(qián)的目的不就是讓我們過(guò)得更好么?」

  老媽捂著嘴笑道。

  「好了好了,這是你半個(gè)月前收藏的無(wú)線耳機(jī),今天去商場(chǎng)逛的時(shí)候看到了,幫你買(mǎi)回來(lái)了?!?p>  老媽從從她手提包里拿出一個(gè)精致的小盒子,然后遞給了老爹。

  「謝謝媳婦兒!」

  老爹看到盒子,原本幽怨地神情一掃而光,滿(mǎn)面歡喜地從老媽手上接過(guò)盒子,而且居然還當(dāng)著大家的面親了老媽的臉!

  簡(jiǎn)直是太過(guò)分了,全然沒(méi)有顧及到我一個(gè)小孩子還在呢!

  老媽的臉居然一下子紅了,然后提著袋子落荒而逃,躲進(jìn)了他們的臥室。

  吃了晚飯后,按照咱們家多年的傳統(tǒng),又到了游戲時(shí)間,于是我和老爹邀請(qǐng)六叔叔一家開(kāi)五黑。

  六叔叔毫無(wú)意外地依舊選了他那近萬(wàn)把的寒冰射手,當(dāng)然,為了降低游戲難度,六叔叔和老爹都是用的小號(hào)。不然匹配到的對(duì)手根本就不是我們?nèi)齻€(gè)大人和兩個(gè)小孩兒能夠匹敵的。

  既然六叔叔玩兒ADC,那么小鹿阿姨自然就是輔助咯。

  如果六叔叔不跟我們一起玩兒,小弦子其實(shí)也喜歡玩兒ADC,但是現(xiàn)在只能遠(yuǎn)走上路,玩兒起了小提莫。

  「老爹老爹,一會(huì)兒你可要多幫幫我!我怕打不贏對(duì)面的疾風(fēng)劍豪?!?p>  「沒(méi)事,你德瑪對(duì)戰(zhàn)劍豪還是很好打的,等到老爹德邦三級(jí)了就來(lái)幫你抓?!?p>  其實(shí)老爹年輕的時(shí)候除了打野,其他位置都可以打,但是后來(lái)為了將就我們,只能去打野了。

  快樂(lè)的時(shí)光總過(guò)得很快,沒(méi)玩兒幾把就到了該睡覺(jué)的時(shí)間了。雖然基本上都是輸,但還是很開(kāi)心。

  第二天,小弦子如約而至。

  「孩子們,今天我們就要學(xué)習(xí)C語(yǔ)言最精髓的部分——指針。這個(gè)地方可以說(shuō)算得上一道分水嶺,一旦越過(guò)去,C語(yǔ)言功底將會(huì)發(fā)生質(zhì)的飛躍?!?p>  「那要是越不過(guò)去呢?」

  「那就永遠(yuǎn)停留在菜鳥(niǎo)級(jí)別!有很多人哪怕在參加工作了以后,都沒(méi)有將指針的用法融匯貫通。所以啊,你們要打起精神來(lái),好好聽(tīng)這部分的內(nèi)容。

  好了,內(nèi)容正式開(kāi)始!」

  聞言后,我和小弦子都挺直了腰桿,畢竟這還是老爹第一次如此鄭重其事地強(qiáng)調(diào)。

  「假設(shè)你們倆在學(xué)校闖禍了,老師通知我到學(xué)校來(lái),但是因?yàn)槔系恢滥銈兊慕淌以谀膬海谑俏揖蛦?wèn)了你們學(xué)校的老師,被告知你們?cè)谖鍢恰?p>  于是老爹來(lái)到五樓,通過(guò)教室門(mén)口的『四年級(jí)二班』標(biāo)識(shí)牌找到了你們教室。但是不巧的是,你們倆已經(jīng)被班主任叫到了辦公室。正在上課的任課老師擔(dān)心我找不到,告訴我辦公室在502。

  最終我通過(guò)502找到了辦公室,看到了正在接收批評(píng)教育的你們。

  在這個(gè)案例中,我們要找到教室或者辦公室只需要知道標(biāo)識(shí)牌或者編號(hào)中的一個(gè),就能夠找到那個(gè)房間,這個(gè)沒(méi)有錯(cuò)吧?」

  「嗯……」

  「其實(shí)啊,在C語(yǔ)言中,一個(gè)房間就相當(dāng)于我們內(nèi)存的一個(gè)字節(jié),如果我們要對(duì)內(nèi)存的某個(gè)字節(jié)進(jìn)行訪問(wèn),同樣也可以如同案例中的方式,要么通過(guò)標(biāo)識(shí)牌,要么通過(guò)編號(hào)。

  而內(nèi)存字節(jié)的標(biāo)識(shí)牌就是我們的變量名,編號(hào),自然就是我們的內(nèi)存地址了。

  在C語(yǔ)言中,我們把一個(gè)變量的地址成為該變量的指針,換而言之,指針代表的就是一個(gè)地址,這個(gè)地址指向內(nèi)存中的某個(gè)變量?!?p>  「指針原來(lái)就是地址啊,也沒(méi)有什么奇特的呀,為什么老爹之前一提到指針就是一副諱莫如深的樣子?」

  聽(tīng)到老爹的講述后,我并沒(méi)有意識(shí)到指針有什么特別之處。

  「指針的精妙,只能用只可意會(huì)不可言傳幾個(gè)字來(lái)形容,這個(gè)需要你們?cè)趯?shí)際使用到的時(shí)候才能體會(huì)到??茨銈円桓迸d致缺缺的樣子,那我現(xiàn)在就讓你們開(kāi)開(kāi)眼界,讓你們體會(huì)到指針強(qiáng)大之處。

  請(qǐng)聽(tīng)題:請(qǐng)編寫(xiě)一個(gè)swap函數(shù),實(shí)現(xiàn)對(duì)兩個(gè)變量的值進(jìn)行交換。也就是說(shuō),我有兩個(gè)變量:

  int a = 3;

  int b = 4;

  在調(diào)用了swap之后,a的值變成了4,b的值變成了3?!?p>  「這個(gè)有什么難的嘛,這樣寫(xiě)不就好了么:

  void swap(int x, int y)

  {

  a = a + b;

  b = a - b;

  a = a - b;

  }

  swap(a,b);

  不就完了么?」

  我不以為意道。

  「是么?真的是這樣么?」

  老爹臉上浮現(xiàn)出一抹意味深長(zhǎng)的笑容,這讓我心中一凸,因?yàn)樯洗慰吹竭@種笑容還是在學(xué)習(xí)break關(guān)鍵字時(shí)。

  那時(shí)我無(wú)比膨脹地認(rèn)為老爹所說(shuō)的break結(jié)束離它最近的for指的代碼距離上的遠(yuǎn)近,然而錯(cuò)的一塌糊涂!

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