欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2379|回復: 2
打印 上一主題 下一主題
收起左側

讓指針不再困擾你

[復制鏈接]
跳轉到指定樓層
樓主
ID:85764 發表于 2015-7-15 23:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
指針對一部分初學者來說一直是一個無法逾越的障礙,沒有指針的C語言就好像沒有左腿的短跑運動員。今天我來試試換一種方法來理解指針,希望能幫還在為指針掙扎的朋友們理清思路,高手略過即可。
    我們先認為內存是一家客棧(看起來這和老掉牙的大樓的比喻沒什么區別,但是請你耐心看下去)。
同大部分的客棧一樣,這家客棧有天、地、人等各種檔次的房間,用現在的話就是單人間、雙人間、四人間等等。來住店的客人也是車水馬龍,三教九流都有,我們看看都有哪些人:
    快樂單身漢char,還有char的小弟unsigned char,他們只住單人間;
    short int, unsigned short int都是已婚無孩,他們只住二人間;
    int, unsigned int, long int, unsigned long int,這些都是四口之家,當然住四人間了;說起來這里面的前兩位,int和 unsigned char,在dos時代還是二人世界,住二人間,后來出了32位系統后,他們才成為四口之家,等到了64位時代,他們中有人會變成8口之家。人口變化太快,所以人口問題就不討論了,只要知道有幾口人(幾個字節)就住幾人間就行了。
    另外還有一些更龐大的家庭double,float我們就不一一贅述了。
    住客棧是要登記的,至少老板要知道哪個房間沒人住,好租給新來的客人吧?于是就把每位客人的房間號都記在了紙上,然后把紙卷在了針上,大大節省了空間,這就是紙針(指針*)啦,^_^。為了安全,登記完的指針也放在客房里了,不過是沒有人住的房間。
    為了區分不同身份的客人(本客棧不搞歧視,區分身份只是為了便于管理),客棧用顏色不同的紙來記錄房間號,這就有了不同類型的指針,比如藍色的char*這種指針只記錄單人間的房間號,紅色的int*只記錄四人間的。看起來分這么多種類很混亂,但是如果有很多同類型的組團(數組)來住店時就方便了,上次int a[100]來旅游的時候,就找到那一沓100張紅色的指針就可以知道誰住哪里了。比如團長a[0]的房間號記在第一張紙p上,那么翻開下一頁(p++)你就找到了隔壁的房間號,你拿前四張去找人正好可以湊一桌麻將了。
雖然指針分為很多顏色(類型),但是不管多大的家族都只住一間屋子,只有一個房間號,所以無論什么顏色的指針都具有相同的大小,長度就是房間號那么長。
并非所有人都像int a[100]那么幸運,他們來的時候正好一層100個房間都沒人住,于是他們可以住在同一片連續的區域。上次m, n, p, q, r一起來想住連續的幾個屋子,方便一起去玩,偏偏找不到合適的房間,只好m住3樓,n住5樓,…,總之都很遠。可是m老是來問老板他的朋友們住哪里?老板每次要找半天,后來想了個辦法,把記錄這幾個人的指針用一個盒子*p[5](指針數組)放在一起,這樣就方便多了。
    有的客人脾氣很怪,比如char F[4],他們四個是一個樂隊的,可是又不愿住四人間,非要一人住一間,還一定是連著的,如果不連著就不住,老板沒辦法,給他們找了連著的四間房。可是大牌還真是難纏,他們早上出去工作就退房,晚上又要回來住,老板又要給他們找連續的四間房,天天如此,而且每次都浪費四個指針,客棧的成本一下提高了。老板又想了個辦法,他專門為這些人訂做了另一種顏色的指針(*p)[4](指向數組的指針),他用這個指針記錄他們老大F[0]的房間號,剩下的三位房間號就是緊挨著的三間,減少了不少浪費。
    一直忘了介紹客棧的兩個伙計,一個叫“小&”,另一個叫”小*”,看外形就知道,”小*”比較圓滑,肯定是經常可客人,而“小&”肚子比較大,一看就是常年打算盤,記帳不活動造成的。有時候有人來客棧找住店的人,首先要查找客人的房間,“小&”就是負責去取保存房間號的指針的,比如上面提到的m想找r去逛街,“小&”就去找r的指針了(&r), “小&”找了半天,終于找到了r的指針p(p = &r),他把p交給”小*”, ”小*”就拿著p去叫客人了(*p就是r了)。看起來好像”小*”的工作比“小&”輕松,其實”小*”也不容易,他要區分指針的顏色(類型)來決定叫多少個人,比如拿的是藍色的指針(上面說得是char型),就只叫一個客人就可以,如果是紅色的(int)就得叫4位客人,如果少叫了一位樓下找人得客人會生氣得,因為沒有把要找的人找全。

評分

參與人數 1威望 +4 收起 理由
mvp + 4 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:79615 發表于 2015-8-28 21:50 | 只看該作者
好樣的樓主!!!!!
回復

使用道具 舉報

板凳
ID:91533 發表于 2015-11-28 00:35 | 只看該作者
好有想象力!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表