23指針-指針與數(shù)組_第1頁(yè)
23指針-指針與數(shù)組_第2頁(yè)
23指針-指針與數(shù)組_第3頁(yè)
23指針-指針與數(shù)組_第4頁(yè)
23指針-指針與數(shù)組_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1指向數(shù)組元素的指針變量例 int array10; int *p; p=&array0; / p=array;或 int *p=&array0;或 int *p=array;array0array1array2array3array9.整型指針p&array0p數(shù)組名是表示數(shù)組首地址的地址常量 指針與數(shù)組2指針變量的賦值運(yùn)算p=&a; (將變量a地址p)p=array; (將數(shù)組array首地址p)p=&arrayi; (將數(shù)組元素地址p)p1=p2; (指針變量p2值p1)指針變量與其指向的變量具有相同數(shù)據(jù)類型3pi p id (i為整型數(shù),d為p指

2、向的變量所占字節(jié)數(shù))p+, p-, p+i, p-i, p+=i, p-=i等若p1與p2指向同一數(shù)組,p1-p2=兩指針間元素個(gè)數(shù)(p1-p2)/dp1+p2 無意義例 p指向int型數(shù)組,且p=&a0; 則p+1 指向a1例 int a10; int *p=&a2; p+; *p=1;例 int a10; int *p1=&a2; int *p2=&a5; 則:p2-p1=3;a0a1a2a3a4a5a6a7a8a9a數(shù)組pp+1,a+1p+i,a+ip+9,a+91指針的算術(shù)運(yùn)算:例 p指向float數(shù),則 p+1 p+1 44若p1和p2指向同一數(shù)組,則

3、p1p2 表示p1指的元素在后p1=p2 表示p1與p2指向同一元素若p1與p2不指向同一數(shù)組,比較無意義指針變量的關(guān)系運(yùn)算5a0a1a2a3a9.aa+9a+1a+2地址元素下標(biāo)法a0a1a2a9a0a1a2a3a9.pp+9p+1p+2地址元素指針法*p*(p+1)*(p+2)*(p+9) 變址運(yùn)算符ai *(a+i)ai pi *(p+i) *(a+i)*a*(a+1)*(a+2)*(a+9)p0p1p2p96a0a1a2a3a4main() int a5,*pa,i; for(i=0;i5;i+) ai=i+1; pa=a; for(i=0;i5;i+) printf(*(pa+%d)

4、:%dn,i,*(pa+i); for(i=0;i5;i+) printf(*(a+%d):%dn,i,*(a+i); for(i=0;i5;i+) printf(pa%d:%dn,i,pai); for(i=0;i5;i+) printf(a%d:%dn,i,ai);12345pa例 數(shù)組元素的引用方法7例 int a=1,2,3,4,5,6,7,8,9,10,*p=a,i; 數(shù)組元素地址的正確表示:(A)&(a+1) (B)a+ (C)&p (D)&pi數(shù)組名是地址常量p+,p- ()a+,a- ()a+1, *(a+2) ()8例 void main() int

5、a =5,8,7,6,2,7,3; int y,*p=&a1; y=(*-p)+; printf(“%d ”,y); printf(“%d”,a0); 輸出:5 6pp58762730123456a6例 注意指針變量的運(yùn)算9main() int i,*p,a7; p=a; for(i=0;i7;i+) scanf(%d,p+); printf(n); for(i=0;i7;i+,p+) printf(%d,*p);p=a;pp58762730123456apppppp指針變量可以指到數(shù)組后的內(nèi)存單元例 注意指針的當(dāng)前值10int *p 與 int q10 數(shù)組名是指針(地址)常量p=q

6、; p+i 是qi的地址數(shù)組元素的表示方法:下標(biāo)法和指針法, 即若p=q, 則 pi qi *(p+i) *(q+i) 一級(jí)指針變量與一維數(shù)組的關(guān)系11指針與字符串字符串表示形式 用字符數(shù)組實(shí)現(xiàn)例 main( ) char string=“I love China!”; printf(“%sn”,string); printf(“%sn”,string+7); IloveChistring0string1string2string3string4string5string6string7string8string9stringstring10string11string12string13n!

7、a012例 main( ) char *string=“I love China!”; printf(“%sn”,string); printf(“%sn”,string+7); IloveChistringn!a0字符指針初始化:把字符串首地址賦給string char *string; string=“I love China!”;string用字符指針實(shí)現(xiàn)13例 用函數(shù)調(diào)用實(shí)現(xiàn)字符串復(fù)制(1)用字符數(shù)組作參數(shù)aIamateaceh0r.fromabyuarasutndetoboet.0Iaaeceh0r.t.0mtavoid copy_string(char from,char to) int i=0; while(fromi!=0) toi=fromi;i+; toi=0;main() char a50=I am a teacher.; char b50=You are a

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論