




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
指針C語言中最難理解和掌握的內(nèi)容之CC語言眾多優(yōu)秀特征的集中體(一)概C語言中,可以用’&’C語言支持char,int等以及高級的數(shù)據(jù)類型如枚舉,結(jié)構(gòu)體,聯(lián)5-17ap為指針型,則有下表5-5所示的關(guān)系。5-5ap值示意圖中a為字符0xFF00,則a10100001,對應(yīng)的十六進(jìn)制0xA1.p0xFF10,16位,因此一個指針類型的變量其內(nèi)5-17p0000000010100001(0x00A1)0000000010100010(0x00A2)。... 0x00A1(0000000010100x00A2(000000001010..0000p.1001 1010 000010100000000110005-17圖5-9中的指針p為例p所指向的內(nèi)存地址0x00A1到底應(yīng)取幾個單元長度的數(shù)據(jù)?這char型,int型還是其他類型的呢?請讀者先記下上述問題,在學(xué)習(xí)完指針型變量(二)和賦在C語言中,一個指針類型的變量可以用圖5-18所示的方法,即采用“方框+*+類型,如char,int,double等等,也可以是一些高級的類型,如指針,結(jié)構(gòu)等;方框后加入’*’號,與方框一起表示了“變量1”的數(shù)據(jù)類型為指向“方框型”的數(shù)據(jù)類型。字符*變量5-18中方框內(nèi)的數(shù)據(jù)類型便決定了“變量1”這個指針型變量的內(nèi)容所確定的內(nèi)存空間的數(shù)據(jù)類型,或者方框內(nèi)的數(shù)據(jù)類型決定了“變量1”所指內(nèi)存的數(shù)據(jù)類型。圖5-19給出了圖5-18中指針型變量時的語句的各部分功能,其中方框內(nèi)的數(shù)據(jù)類型決定了聲字符*變量指指型量*變量指所指內(nèi)存 指針變量標(biāo)記符名圖5-18指針類型變量的方法 圖5-19指針類型的語句的各部分功能現(xiàn)在我們可以得到先前問題的答案了:對了,就是圖5-18和5-19中的“方框”決定一個指針變量所指內(nèi)存的數(shù)據(jù)類型。結(jié)合圖5-175-185-19進(jìn)行說明,如當(dāng)采用“0001(0x00A1)是一個具體的內(nèi)存地址,該內(nèi)存地址0x00A1的數(shù)據(jù)為char型,值為00000001(0x01);當(dāng)采用“char**p;”時,可以理解為“((char*)*)p”一個指針型變量p的時候,我們可以確定((char*)*)為一個“指向(char*)型的指針”,p0000000010100001(0x00A1)是一個具體的內(nèi)存地址,該內(nèi)存地址0x00A1的數(shù)據(jù)為(char*)0001C語言中取得由一個指定內(nèi)存地址內(nèi)容的操作符為’*’,編者建議讀者不要將此處介紹的’*’操作符與上文介紹的指針時用到的指針標(biāo)記符’*’,將二者看作不同的符號加5-17p,“*pp所指內(nèi)存空間的內(nèi)容。具體來說,如果p是指向字符型的指針變量(語句為“char*p”),則此時自0x00A1起一個單自0x00A1起四個單元長度的數(shù)據(jù)即是*p的值;如果p是指向指針的指針變量(語句為圖5-20中,介紹了C語言中指針型變量和為指針型變量賦值的語法格式,其中圖的值賦給了“變量1”;5-21(e)則了指針型變量“變量1”同時對其進(jìn)行了賦值。指針類型變量指針類型變量指針類型變量1,變量變量1=值變量1=變量指針類型變量1=值void char char* char* 圖5-20指針型變量的和賦 5-20中的(c)、(e)中,對指針型變量進(jìn)行了賦值,其中等號右側(cè)的“值”是一個地址于圖5-17而言值為0xFF00)。變量a并賦值為1;語句(4)了兩個“字符型”的指針型變量p1和p2,此時p1和p2的值為隨機數(shù);語句(5)將變a的地址p1;語句(6)將變p1的值賦給p2;語句(7)聲明了一個“字符型”的指針型變量p3并賦值將p1的值賦給了p3。(三)指針類型的相互轉(zhuǎn)換C語言中,由于各種指針類型的變量其所占字節(jié)長度相同,所以相互之間轉(zhuǎn)化起來
000000110000001100000011000000110000 void short short*p1=&a; char*p2=(char void short short*p1=&a; char*p2=(char a0x33040x33040x33050x000x115-22中的語句(4)了一個只向short的指針型變量p1,并將a的地址賦給了p1,則p1的內(nèi)容x302恰好為變量a的地址。圖5-22中了一個指向char的指針型變量p2,并且將p1的值賦p2,這里采用了指針類類型的轉(zhuǎn)換,可以看出只需要將所要轉(zhuǎn)換成的指針類型用括號達(dá)式優(yōu)先級算。。p2的你內(nèi)存0x33005-23所示,其內(nèi)0x3304,是變量p1的內(nèi)容,也即是變量a的地址。這里需要注意,由于p1是“short*”型,而p2是“char*”型,因此“*p1”的值為0x1100,而“*p2”的值為0x100。(三)指5-22所示的內(nèi)存示意圖,并對本段文字重新閱讀理解。內(nèi)存地址
內(nèi)存地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)塊鏈技術(shù)在醫(yī)療知識產(chǎn)權(quán)交易中的應(yīng)用探索
- 生產(chǎn)車間年終工作總結(jié)模版
- 宿舍管理員工作總結(jié)模版
- 酒精所致幻覺癥的臨床護(hù)理
- 為醫(yī)患帶來福祉利用區(qū)鏈技術(shù)推動全球醫(yī)療服務(wù)變革
- 中學(xué)教科研工作總結(jié)模版
- 儲罐無損檢測合同范例
- 醫(yī)療園區(qū)綜合服務(wù)平臺的建設(shè)
- 買賣兜底合同樣本
- 機器人焊接 6 項目三任務(wù)3.2教學(xué)設(shè)計
- 食品加工肉類行業(yè)食品安全培訓(xùn)
- 2023年中國鐵路遼寧沈陽局集團(tuán)有限公司招聘考試真題
- 重慶中煙考試題庫2024
- 文印設(shè)備維修維護(hù)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 保安服務(wù)月度考核表
- 手動液壓叉車安全技術(shù)培訓(xùn)
- 第十四講 建設(shè)鞏固國防和強大人民軍隊PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 第七講 社會主義現(xiàn)代化建設(shè)的教育科技人才戰(zhàn)略PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 上海市中小學(xué)校長職級評定方案(常用版)
- 糖尿病胰島素治療專題患教用
- (通橋【2018】8370)《鐵路橋梁快速更換型伸縮縫安裝圖》
評論
0/150
提交評論