指針的學(xué)習(xí)方法
前言
相關(guān)推薦:
指針,一直被認(rèn)為是C語(yǔ)言中的精華。只有掌握了指針,你才能說(shuō)你學(xué)會(huì)了C語(yǔ)言。
相當(dāng)初,我是把指針這一章足足看了三遍才算是“學(xué)了這一章”下面的文字是阿容
寫(xiě)的,對(duì)我學(xué)習(xí)C語(yǔ)言的指針幫助很大。好東西不敢獨(dú)享,今天把它貼出來(lái),希望
大家也會(huì)有所幫助。
第一章。指針的概念?
指針是一個(gè)特殊的變量,它里面存儲(chǔ)的數(shù)值被解釋成為內(nèi)存里的一個(gè)地址。
要搞清一個(gè)指針需要搞清指針的四方面的內(nèi)容:指針的類(lèi)型,指針?biāo)赶虻?BR>
類(lèi)型,指針的值或者叫指針?biāo)赶虻膬?nèi)存區(qū),還有指針本身所占據(jù)的內(nèi)存區(qū)。讓
我們分別說(shuō)明。
先聲明幾個(gè)指針?lè)胖隼樱?BR>
例一:
?。?)int *ptr;
?。?)char *ptr;
?。?)int **ptr;
?。?)int (*ptr);
(5)int *(*ptr);
如果看不懂后幾個(gè)例子的話(huà),請(qǐng)參閱我前段時(shí)間貼出的文章<<如何理解c和c
++的復(fù)雜類(lèi)型聲明>>.
1.指針的類(lèi)型。
從語(yǔ)法的角度看,你只要把指針聲明語(yǔ)句里的指針名字去掉,剩下的部分就
是這個(gè)指針的類(lèi)型。這是指針本身所具有的類(lèi)型。讓我們看看例一中各個(gè)指針的
類(lèi)型:
?。?)int *ptr;
//指針的類(lèi)型是int *
?。?)char *ptr;
//指針的類(lèi)型是char *
?。?)int **ptr;
//指針的類(lèi)型是int **
?。?)int (*ptr);
//指針的類(lèi)型是int(*)
?。?)int *(*ptr);
//指針的類(lèi)型是int *(*)
怎么樣?找出指針的類(lèi)型的方法是不是很簡(jiǎn)單?
2.指針?biāo)赶虻念?lèi)型。
當(dāng)你通過(guò)指針來(lái)訪問(wèn)指針?biāo)赶虻膬?nèi)存區(qū)時(shí),指針?biāo)赶虻念?lèi)型決定了編譯
器將把那片內(nèi)存區(qū)里的內(nèi)容當(dāng)做什么來(lái)看待。
從語(yǔ)法上看,你只須把指針聲明語(yǔ)句中的指針名字和名字左邊的指針聲明符
*去掉,剩下的就是指針?biāo)赶虻念?lèi)型。例如:
(1)int *ptr;
//指針?biāo)赶虻念?lèi)型是int
?。?)char *ptr;
//指針?biāo)赶虻牡念?lèi)型是char
?。?)int **ptr;
//指針?biāo)赶虻牡念?lèi)型是int *
(4)int (*ptr);
//指針?biāo)赶虻牡念?lèi)型是int()
?。?)int *(*ptr);
//指針?biāo)赶虻牡念?lèi)型是int *()
在指針的算術(shù)運(yùn)算中,指針?biāo)赶虻念?lèi)型有很大的作用。
指針的類(lèi)型(即指針本身的類(lèi)型)和指針?biāo)赶虻念?lèi)型是兩個(gè)概念。當(dāng)你對(duì)C越
來(lái)越熟悉時(shí),你會(huì)發(fā)現(xiàn),把與指針攪和在一起的“類(lèi)型”這個(gè)概念分成“指針的
類(lèi)型“和”指針?biāo)赶虻念?lèi)型“兩個(gè)概念,是精通指針的關(guān)鍵點(diǎn)之一。我看了不
少書(shū),發(fā)現(xiàn)有些寫(xiě)得差的書(shū)中,就把指針的這兩個(gè)概念攪在一起了,所以看起書(shū)
來(lái)前后矛盾,越看越糊涂。
3.指針的值,或者叫指針?biāo)赶虻膬?nèi)存區(qū)或地址。
指針的值是指針本身存儲(chǔ)的數(shù)值,這個(gè)值將被編譯器當(dāng)作一個(gè)地址,而不是
一個(gè)一般的數(shù)值。在32位程序里,所有類(lèi)型的指針的值都是一個(gè)32位整數(shù),因?yàn)?BR>
32位程序里內(nèi)存地址全都是32位長(zhǎng)。
指針?biāo)赶虻膬?nèi)存區(qū)就是從指針的值所代表的那個(gè)內(nèi)存地址開(kāi)始,長(zhǎng)度為si
zeof(指針?biāo)赶虻念?lèi)型)的一片內(nèi)存區(qū)。以后,我們說(shuō)一個(gè)指針的值是XX,就相
2.部分稿件來(lái)源于網(wǎng)絡(luò),如有不實(shí)或侵權(quán),請(qǐng)聯(lián)系我們溝通解決。最新官方信息請(qǐng)以湖北省教育考試院及各教育官網(wǎng)為準(zhǔn)!
- 自考“中國(guó)近現(xiàn)代史綱要”復(fù)習(xí)資料第三章
- 自考“中國(guó)近現(xiàn)代史綱要”復(fù)習(xí)資料第六章
- 自考“中國(guó)近現(xiàn)代史綱要”復(fù)習(xí)資料第五章
- 高一政治期末試題
- 自考“中國(guó)近現(xiàn)代史綱要”復(fù)習(xí)資料第四章
- 《普通邏輯原理》第一章 同步輔導(dǎo)/訓(xùn)練
- 自考“中國(guó)近現(xiàn)代史綱要”復(fù)習(xí)資料第三章
- 2005年10月“ 廣告法規(guī)”串講資料(北京聯(lián)合大學(xué)廣告學(xué)院)
- 自考“中國(guó)近現(xiàn)代史綱要”復(fù)習(xí)資料第五章
- 自學(xué)考試《網(wǎng)頁(yè)設(shè)計(jì)與制作》聽(tīng)課筆記
- 湖北科技學(xué)院自考報(bào)名流程具體如何操作?是否需要到?,F(xiàn)場(chǎng)確認(rèn)?
- 湖北科技學(xué)院自考每年什么時(shí)候報(bào)名?錯(cuò)過(guò)報(bào)名能否補(bǔ)報(bào)?
- 湖北科技學(xué)院自考本科的報(bào)名條件是什么?是否需要專(zhuān)科畢業(yè)證?
- 湖北科技學(xué)院自考全程考下來(lái)大概需要多少錢(qián)?(學(xué)費(fèi)、考試費(fèi)、教材費(fèi)等)
- 湖北科技學(xué)院自考在哪里購(gòu)買(mǎi)正版教材?是否有推薦的學(xué)習(xí)資料?
- 湖北科技學(xué)院自考選擇的專(zhuān)業(yè)要考多少門(mén)?有哪些必考和選考科目?
- 湖北科技學(xué)院自考本科的難度如何?零基礎(chǔ)能否通過(guò)?
- 湖北科技學(xué)院自考每年考幾次?每次最多能報(bào)幾門(mén)?
- 湖北科技學(xué)院自考之前考過(guò)的科目或證書(shū)能否申請(qǐng)免考?
- 湖北科技學(xué)院自考本科文憑社會(huì)認(rèn)可嗎?能否考公、考研? 查看更多

湖北自考網(wǎng)微信公眾號(hào)
隨時(shí)獲取自考政策、通知、公告及各類(lèi)學(xué)習(xí)資料、學(xué)習(xí)方法、課件。