紡2第10章103數(shù)組與指針_第1頁
紡2第10章103數(shù)組與指針_第2頁
紡2第10章103數(shù)組與指針_第3頁
紡2第10章103數(shù)組與指針_第4頁
紡2第10章103數(shù)組與指針_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第十章廣州大學(xué)計(jì)算機(jī)科學(xué)與教育軟件學(xué)院12/9/20221紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第1頁!

主要內(nèi)容10.3數(shù)組與指針

12/9/20222紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第2頁!10.3數(shù)組與指針指向數(shù)組元素的指針特點(diǎn):C語言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是個(gè)元素的地址,如:inta[10];int*p;p=&a[0];135…&a[0]數(shù)組a[0]a[1]a[2]…首地址p可寫為p=a;即把a(bǔ)數(shù)組的首地址賦給指針p。在定義指針變量的同時(shí)可以賦予初值,如int*p=&a[0];等效于int*p;p=&a[0];即int*p=a;作用:將a數(shù)組的首地址(即a[0]的地址)賦給p。a12/9/20223紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第3頁!一個(gè)數(shù)組元素可以表示為:1)下標(biāo)法a[i]或p[i]2)指針法*(a+i)或*(p+i)其中a為數(shù)組名,p是指向數(shù)組的指針變量,且p==a。調(diào)用VC程序12/9/20224紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第4頁!例10.7將數(shù)組a中n個(gè)整數(shù)按相反順序存放。12/9/20225紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第5頁!對剛才的程序可以作一些改動。將函數(shù)inv中的形參x改成指針變量。

圖10.17。12/9/20226紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第6頁!10.3.4多維數(shù)組與指針地址2000元素值1

2002

3

2004

52006

7a,a[0],*(a+0),*a,&a[0][0]a[0]+1a[0]+2a[0]+3,&a[0][3]a[0][0]a[0][1]a[0][2]a[0][3]地址2008元素值9

2010

11

2012

132014

15地址2016元素值17

2018

19

2020

212022

23a+1,a[1],*(a+1),&a[1][0]a[1]+1,*(a+1)+1a[1]+2,*(a+1)+2a[1]+3,&a[1][3]*(a+1)+3,a[1][0]a[1][1]a[1][2]a[1][3]a+2,a[2],*(a+2),&a[2][0]a[2]+1,*(a+2)+1a[2]+2,*(a+2)+2a[2]+3,&a[2][3]*(a+2)+3a[2][0]a[2][1]a[2][2]a[2][3]因?yàn)?a就是a[0]是數(shù)組名,故也是地址,不是元素值。12/9/20227紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第7頁!例10.10調(diào)用VC程序注意:a[0]與*(a+0)、&a[1][0]與*(a+1)+0是等價(jià)的。12/9/20228紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第8頁!指向數(shù)組的指針變量1357911131517192123pp+1p+2*(p+i)表示第i行首地址,*(p+i)+j表示第i行第j個(gè)地址;*(*(p+i)+j)表示第i行第j個(gè)元素值。b[0][0]b[0][3]b[1][3]b[2][2]12/9/20229紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第9頁!例10.12輸出二維數(shù)組任一行任一列元素的值。調(diào)用VC程序12/9/202210紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第10頁!

…*(p+i)a[0]a[1]…a[i]a數(shù)組p,ap+1,a+1……p+i,a+i

說明:*(p+i)或*(a+i)就是a[i],即*(p+i)與a[i]等價(jià)。由于p與a等價(jià),可以認(rèn)為p[i]與a[i]等價(jià),即p[i]與*(p+i)等價(jià),也就是*(p+i)可以表示為p[i]的形式,即指針變量可以帶下標(biāo)。12/9/202211紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第11頁!一個(gè)數(shù)組元素可以表示為:1)下標(biāo)法a[i]或p[i]2)指針法*(a+i)或*(p+i)其中a為數(shù)組名,p是指向數(shù)組的指針變量,且p==a。調(diào)用VC程序例10.6通過指針變量輸出a數(shù)組的10個(gè)元素。分析詳見P233-圖10.1412/9/202212紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第12頁!用數(shù)組名作函數(shù)參數(shù)例10.7將數(shù)組a中n個(gè)整數(shù)按相反順序存放。方法參看P237-圖10.16調(diào)用VC程序12/9/202213紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第13頁!例10.7指針方法。方法見P238-圖10.17。調(diào)用VC程序12/9/202214紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第14頁!說明:對于二維數(shù)組1)a[0],a[1],a[2]代表各行的首地址,而不是元素值;2)*(a+1)+2不要寫成*(a+1+2)因?yàn)楹笳邽?(a+3);3)*(a+i)和a[i]等價(jià),表示各行首地址,而不是元素值;如:*(a+i)+j,a[i]+j就是地址&a[i][j]的值。12/9/202215紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第15頁!指向多維數(shù)組元素的指針變量指針數(shù)組的聲明int(*p)[4];表示p為指向每行有4個(gè)元素的數(shù)組的指針。12/9/202216紡2第10章103數(shù)組與指針共18頁,您現(xiàn)在瀏覽的是第16頁!1357911131517192123p,ap+1p+2jj+1j+2j+3int(*p)[4];p=a;a[0][1]a[0][3]p為指向每行有4個(gè)元素的數(shù)組的指針。例10.12

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論