




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、變量的內(nèi)存地址變量的內(nèi)存地址指針變量的定義和初始化指針變量的定義和初始化間接尋址運(yùn)算符間接尋址運(yùn)算符函數(shù)指針函數(shù)指針內(nèi)存地址內(nèi)存地址p 指令和數(shù)據(jù)都保存在計(jì)算機(jī)的內(nèi)存中。指令和數(shù)據(jù)都保存在計(jì)算機(jī)的內(nèi)存中。p 內(nèi)存區(qū)的每一個(gè)字節(jié)有唯一的一個(gè)編號(hào),這內(nèi)存區(qū)的每一個(gè)字節(jié)有唯一的一個(gè)編號(hào),這就是就是“地址地址” 。地址是一個(gè)無符號(hào)整數(shù),其。地址是一個(gè)無符號(hào)整數(shù),其字長(zhǎng)一般與主機(jī)相同。字長(zhǎng)一般與主機(jī)相同。p 如果在程序中定義了一個(gè)變量,在對(duì)程序進(jìn)如果在程序中定義了一個(gè)變量,在對(duì)程序進(jìn)行編譯時(shí),系統(tǒng)就會(huì)給這個(gè)變量分配內(nèi)存單行編譯時(shí),系統(tǒng)就會(huì)給這個(gè)變量分配內(nèi)存單元。元。 只要指明要訪問的內(nèi)存單元的地址,就只
2、要指明要訪問的內(nèi)存單元的地址,就可以立即訪問到該單元。可以立即訪問到該單元。指針變量的定義指針變量的定義指針概念:指針概念:p存放變量地址需要一種特殊的數(shù)據(jù)類型,即存放變量地址需要一種特殊的數(shù)據(jù)類型,即“指指針針”。p 一個(gè)變量的指針就是該變量的地址(指針就是地址)一個(gè)變量的指針就是該變量的地址(指針就是地址)p 具有指針類型的變量,成為具有指針類型的變量,成為指針變量,指針變量,它是專門用它是專門用于存儲(chǔ)變量地址值的變量。于存儲(chǔ)變量地址值的變量。p 如果有一個(gè)變量專門用來存放另一變量的地址(即如果有一個(gè)變量專門用來存放另一變量的地址(即指針),則它稱為指針),則它稱為“指針變量指針變量”一個(gè)
3、變量的地址稱為該變一個(gè)變量的地址稱為該變量的量的“指針指針”。例如,地址例如,地址2000是變量是變量的指針。的指針。如果有一個(gè)變量專門用來如果有一個(gè)變量專門用來存放另一變量的地址(即存放另一變量的地址(即指針),則它稱為指針),則它稱為“指針指針變量變量”。上述的上述的i_pointer就是一就是一個(gè)指針變量。個(gè)指針變量。變量名變量名變量值變量值變量的變量的地址地址說明:說明:p 定義形式:定義形式:數(shù)據(jù)類型數(shù)據(jù)類型 *指針變量名指針變量名 其中,數(shù)據(jù)類型表示指針變量要指向的變量的數(shù)據(jù)其中,數(shù)據(jù)類型表示指針變量要指向的變量的數(shù)據(jù)類型。類型。(2) 在定義指針變量時(shí)必須指定基類型。在定義指針變
4、量時(shí)必須指定基類型。 例:例:int *p; float a; p=&a; 指針變量的初始化指針變量的初始化(1)(2)注意注意:n 指針變量中只能存放地址(指針),不要將一個(gè)整指針變量中只能存放地址(指針),不要將一個(gè)整數(shù)(或任何其他非地址類型的數(shù)據(jù))賦給一個(gè)指針變數(shù)(或任何其他非地址類型的數(shù)據(jù))賦給一個(gè)指針變量。量。 n 指針只有在真正指向了一塊有意義的內(nèi)存后,才能指針只有在真正指向了一塊有意義的內(nèi)存后,才能訪問它的內(nèi)容。未初始化的指針引起非法訪問內(nèi)存訪問它的內(nèi)容。未初始化的指針引起非法訪問內(nèi)存#include void main ( ) int a=100, b=10; int *pa,
5、 *pb; pa=&a; /把變量把變量a的地址賦給的地址賦給p1 pb =&b; /把變量把變量b的地址賦給的地址賦給p2 printf(%d,%d,);); printf(%d,%d,*pa, *pb););papb10010尋址方式尋址方式任何變量在存在期間總有確定存儲(chǔ)位置,有固任何變量在存在期間總有確定存儲(chǔ)位置,有固定的地址定的地址p 如何讀寫內(nèi)存中的數(shù)據(jù)?如何讀寫內(nèi)存中的數(shù)據(jù)? 通過變量的地址訪問變量所在的存儲(chǔ)單元。通過變量的地址訪問變量所在的存儲(chǔ)單元。p 兩種尋址方式兩種尋址方式 直接尋址直接尋址 間接尋址間接尋址 直接尋址直接尋址p 按變量名或地址存取變量值的方式稱為按變量名或地
6、址存取變量值的方式稱為“直直接訪接訪 問問”方式方式p &取地址運(yùn)算符取地址運(yùn)算符p%p格式字符,表示輸出變量的地址值格式字符,表示輸出變量的地址值間接尋址間接尋址p 通過指針變量間接存取它所指向的變量的訪通過指針變量間接存取它所指向的變量的訪問方式稱為問方式稱為“間接訪問間接訪問”方式方式l“”和和“*”兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,但按自右而左方向兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,但按自右而左方向結(jié)合。結(jié)合。p 取地址運(yùn)算符取地址運(yùn)算符&使用在變量名前取變量地址,是對(duì)應(yīng)類型的指針值,可賦值使用在變量名前取變量地址,是對(duì)應(yīng)類型的指針值,可賦值給類型合適的指針。給類型合適的指針。例:例:int a=5,
7、*p; p=&a;我是真的,我是真的,猜對(duì)了嗎猜對(duì)了嗎p 間接運(yùn)算符間接運(yùn)算符*用來取指針指向地址的內(nèi)容用來取指針指向地址的內(nèi)容*p=x=5“”和和“*”兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,但按自右而左方向結(jié)兩個(gè)運(yùn)算符的優(yōu)先級(jí)別相同,但按自右而左方向結(jié)合。合。指針運(yùn)算指針運(yùn)算abcd253p33指針與函數(shù)指針與函數(shù)按值調(diào)用:按值調(diào)用:p 指針變量作函數(shù)參數(shù)指針變量作函數(shù)參數(shù) 按地址調(diào)用(模擬按引用調(diào)用)按地址調(diào)用(模擬按引用調(diào)用)函數(shù)指針函數(shù)指針p 如果在程序中定義了一個(gè)函數(shù),在編譯時(shí),編譯如果在程序中定義了一個(gè)函數(shù),在編譯時(shí),編譯系統(tǒng)為函數(shù)代碼分配一段存儲(chǔ)空間,這段存儲(chǔ)空間系統(tǒng)為函數(shù)代碼分配一段存儲(chǔ)空
8、間,這段存儲(chǔ)空間的起始地址,稱為這個(gè)的起始地址,稱為這個(gè)函數(shù)的指針函數(shù)的指針。p 可以定義一個(gè)指向函數(shù)的指針變量,用來存放某可以定義一個(gè)指向函數(shù)的指針變量,用來存放某一函數(shù)的起始地址,這就意味著此指針變量指向該一函數(shù)的起始地址,這就意味著此指針變量指向該函數(shù)。函數(shù)。 注意:注意:int (*add)(int, int);與與int *add(int, int);是不同是不同的的后者函數(shù)有兩個(gè)整型形參,而函數(shù)的返回值時(shí)一個(gè)后者函數(shù)有兩個(gè)整型形參,而函數(shù)的返回值時(shí)一個(gè)指針類型的數(shù)據(jù)。指針類型的數(shù)據(jù)。函數(shù)返回指針函數(shù)返回指針有關(guān)指針的小結(jié)有關(guān)指針的小結(jié) 1.首先要準(zhǔn)確地弄清楚指針的含義。指針就是地址,凡是出現(xiàn)“指針”的地方,都可以用“地址”代替,例如,變量的指針就是變量的地址,指針變量就是地址變量 要區(qū)別指針和指針變量。指針就是地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商務(wù)咨詢勞務(wù)合同協(xié)議
- 2025商業(yè)辦公空間租賃合同范本
- 2025商業(yè)房產(chǎn)租賃合同范本與格式內(nèi)容
- 模具合同延期補(bǔ)充協(xié)議
- 《小米的營(yíng)銷策略》課件
- 2025年出口商品購(gòu)銷合同范本
- 《2025協(xié)商解除勞動(dòng)合同協(xié)議書》
- 2025機(jī)械設(shè)備購(gòu)貨合同模板
- 2025家居用品最簡(jiǎn)單購(gòu)銷合同
- 2025年貨運(yùn)從業(yè)資格證考試模擬考試題及答案詳解
- 高標(biāo)準(zhǔn)基本農(nóng)田建設(shè)項(xiàng)目監(jiān)理月報(bào)1期
- 水質(zhì)自動(dòng)在線監(jiān)測(cè)系統(tǒng)技術(shù)協(xié)議1010審計(jì)
- DBJ04∕T 258-2016 建筑地基基礎(chǔ)勘察設(shè)計(jì)規(guī)范
- 食品公司規(guī)章制度
- 七年級(jí)地理下雙向細(xì)目表
- 企業(yè)風(fēng)險(xiǎn)評(píng)估報(bào)告模板
- 網(wǎng)吧員工勞動(dòng)合同書
- Revit基礎(chǔ)入門課件
- 小升初英語(yǔ)奧數(shù)題
- 項(xiàng)目部管理人員安全培訓(xùn)考試題及答案
- 危險(xiǎn)性較大分部分項(xiàng)工程及施工現(xiàn)場(chǎng)易發(fā)生重大事故的部位環(huán)節(jié)的預(yù)防監(jiān)控措施和應(yīng)急預(yù)案11匯編
評(píng)論
0/150
提交評(píng)論