




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第八章 指針變量的地址和指針指針變量函數(shù)之間地址值的傳遞函數(shù)返回地址值8.1 變量的地址和指針變量與地址程序中: int i; float k; 內(nèi)存中每個字節(jié)有一個編號-地址2002內(nèi)存0.2000200120072003ik2004.指針:一個變量的地址指針變量:專門存放變量地址的變量叫指針變量指針指針變量 變量的內(nèi)容 變量的地址.200030003003整型變量 i10變量 p2003.2000&與運算符含義含義: 取變量的地址單目運算符優(yōu)先級: 14結(jié)合性:自右向左含義: 取指針所指向變量的內(nèi)容單目運算符優(yōu)先級: 14結(jié)合性:自右向左兩者關(guān)系:互為逆運算理解.2000200420062
2、005整型變量 i10變量 p2001200220032000指針變量p-指針變量,它的內(nèi)容是地址量*p-指針的目標變量,它的內(nèi)容是數(shù)據(jù)&p-指針變量占用內(nèi)存的地址p &i *p i p = &i *p = i 8.2 指針變量指針變量的定義一般形式: 數(shù)據(jù)類型 *指針名;合法標識符表示定義指針變量不是*運算符例 int *p1,*p2; float *q ; char *name;注意:1、int *p1, *p2; 與 int *p1, p2;2、指針變量名是p1,p2 ,不是*p1,*p28.3.1給指針變量賦值指針變量的初始化一般形式:類型名 *指針名=初始地址值;賦給指針變量,不是賦
3、給目標變量例 int i=1,*p; p=&i; 1.通過求地址運算符(&)獲得地址值。例:int i=1 ; int *p=&i;例 int i; int *p=&i; int *q=p;用已初始化指針變量作初值2.通過指針變量獲得地址值例 int *p=&i; int i;注意:1、指針變量只能指向定義時所規(guī)定類型的變量例: char *p; int i; p=&i;例: int *p; int i; p=&i;2、指針變量定義后,變量值不確定,應(yīng)用前必須先賦值例 main( ) int i=10; int *p; *p=i; printf(“%d”,*p); 危險!例 main( ) i
4、nt i=10,k; int *p; p=&k; *p=i; printf(“%d”,*p); 指針變量必須先賦值,再使用.2000200420062005整型變量i10指針變量p200120022003隨機給指針變量賦“空”值零指針:(空指針)表示: int * p=NULL; #define NULL 0int *p=NULL:所以也可以:p=0;或p=0;表示指針有一個確定的值-”空”例:inta=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;則以下選項中錯誤的語句是( )A、*q=0;B、w=p;C、*p=a;D、*p=*w;例 指針的概念main()
5、int a; int *pa=&a; a=10; printf(%dn,a); printf(%dn,*pa); printf(%xn,&a); printf(%xn,pa); printf(%xn,&pa);運行結(jié)果:1010f86f86f8a.f86f8ef92f90整型變量a10指針變量paf88f8af8cf868.5函數(shù)之間地址值的傳遞 (p100)特點:共享內(nèi)存,“雙向”傳遞swap(int x) x=9;main() int a; scanf(%d,&a); swap(a); printf(%dn,a);例1值傳遞運行結(jié)果:5#includeswap(int *p1) *p1=9
6、;main() int a; int *po1; scanf(%d,&a); po1=&a; swap(po1); printf( %d n,a);例2運行結(jié)果:9地址傳遞運行結(jié)果:5例3swap(int *p1) int b=9; p1=&b;main() int a; int *po1; scanf(%d,&a); po1=&a; swap(po1); printf(%d,*po1);地址傳遞swap(int x,int y) int t; t=x; x=y; y=t;main() int a,b; int *po1,*po2; scanf(%d,%d,&a,&b); po1=&a; po
7、2=&b; if(ab) swap(*po1,*po2); printf(n%d,%dn,a,b);例4值傳遞運行結(jié)果:5 , 9例5swap(int *p1, int *p2) int *p; p=p1; p1=p2; p2=p;main() int a,b; int *po1,*po2; scanf(%d,%d,&a,&b); po1=&a; po2=&b; if(a*y)return x; elsereturn y;main() int a=2,b=3; int *p; p=f1(&a, &b); printf(%dn,*p);.20002008200A20022004200623 指針變量y 指針變量x(f1)20022000COPY變量a 變量b(main) 指針變量p*例 寫一個函數(shù),求兩個int型變量中居于較大值的變量的地址.20002008200A2002200420062變量a 變量b(main)3 指針變量p*2002int *f1(int *x,int *y) if(*x*y)return x; elsereturn y;main() int a=2,b=3; int *p; p=f1(&a,&b
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院門禁施工方案
- 河邊堤壩加固施工方案
- 快拼箱施工方案
- 富錦打井施工方案
- 我的中國夢作文100字篇
- 二零二五年度燃氣泄漏報警器安裝合同
- 二零二五年度情侶旅行計劃與費用分攤合同
- 二零二五年度餐飲單位市場拓展合作合同
- 二零二五年度房屋出租中介服務(wù)合同(含租賃合同解除條件)
- 2025年度餐飲廚師營養(yǎng)健康食譜開發(fā)合同
- 2025年湖南鐵道職業(yè)技術(shù)學院單招職業(yè)技能測試題庫帶答案
- 2025年江蘇揚州市儀征市眾鑫建設(shè)開發(fā)有限公司招聘筆試參考題庫附帶答案詳解
- 大象版四年級下冊《科學》全套教學課件
- 安徽毛坦廠實驗中學2025屆高三11月期中考試英語+答案
- 期末考試質(zhì)量分析教學成績匯報模板
- 部編高教版2023·職業(yè)模塊 中職語文 2.《寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘》 課件
- 安全環(huán)保職業(yè)健康法律法規(guī)清單2024年
- 2022年袋鼠數(shù)學競賽真題一二年級組含答案
- 人工智能引論智慧樹知到課后章節(jié)答案2023年下浙江大學
- 銀行保潔服務(wù)投標方案(技術(shù)標)
- 2023年高考語文全國乙卷《長出一地的好蕎麥》解析
評論
0/150
提交評論