《數(shù)組與指針》ppt課件

《數(shù)組與指針》ppt課件

ID:26943199

大?。?21.32 KB

頁數(shù):30頁

時間:2018-11-30

《數(shù)組與指針》ppt課件_第1頁
《數(shù)組與指針》ppt課件_第2頁
《數(shù)組與指針》ppt課件_第3頁
《數(shù)組與指針》ppt課件_第4頁
《數(shù)組與指針》ppt課件_第5頁
資源描述:

《《數(shù)組與指針》ppt課件》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、第十章數(shù)組與指針10.1一維數(shù)組首地址和數(shù)組元素的地址一維數(shù)組首地址和數(shù)組元素的地址在C語言中,數(shù)組占用一串連續(xù)的存儲單元,如有以下定義:inta[5],*p,i;數(shù)組中每個元素都可以看作一個變量,因此每個數(shù)組元素均有一個地址,例如元素a[0]的地址可表示為&a[0]。在上面的定義語句中,指針p的基類型為整型,可以指向任意的一個整型存儲單元。我們可以使用p=&a[0]將指針p指向數(shù)據(jù)元素a[0]。由于數(shù)組元素在內(nèi)存中是連續(xù)的,因此可以通過移動指針p來訪問數(shù)組中的每個元素。C語言規(guī)定數(shù)組名代表數(shù)組在內(nèi)存中的起始地址,即可以使用a表示數(shù)組a的首地址。因此也可以使用p=

2、a來讓指針p指向數(shù)組的起始地址。需要注意的是:a是一個地址常量,它永遠指向a數(shù)組的首地址。因此不能對a進行重新賦值,a=&i;或a++;這樣的賦值語句都是非法的。a[0]a[1]a[2]a[3]a[4]p二.通過指針引用一維數(shù)組元素(1)通過指針引用數(shù)組元素,如有以下的定義語句:int*p,a[5];p=&a[0];指針變量p指向了數(shù)組元素a[0],因此可以使用間接訪問運算符“*”來引用變量a[0]。如*p=18;是對p指向的存儲空間,即a[0]賦值為18,它等價于a[0]=18;在指針這一章我們學過,可以通過算術運行對指針進行移動。例如p+1表示p所指向存儲單元

3、的下一個存儲單元,即a[1];p+2指向a[2],p+3指向a[3]……,所以我們可以使用*(p+1)來表示a[1],*(p+2)來表示a[2]……,同樣,也可以使用p表示&a[0],p+1表示&a[1],p+2表示&a[2]……例10.1有以下程序:main(){inta[5],*p,i;for(p=a,i=0;i<5;i++)scanf(“%d”,p+i);for(p=a;p

4、0];*(a+1)等價于a[1]……,同樣,a等價于&a[0];a+1等價于&a[1]……例10.2有以下程序:main(){inta[5],i;for(i=0;i<5;i++)scanf(“%d”,a+i);for(i=0;i<5;i++)printf(“%d”,*(a+i));}(3)用帶下標的指針變量引用一維數(shù)組元素,若有以下定義語句:int*p,a[5];p=a;我們可以使用p[0]來表示p指針指向的內(nèi)存單元,使用p[1]表示p指針指向的內(nèi)存單元的下一個內(nèi)存單元。也就是說,可以使用p[0]來表示a[0];p[1]來表示a[1]……因此,對數(shù)組元素a[i]可

5、以有4種等價的引用方法:①a[i];②p[i];③*(a+i)④*(p+i)。對應地,對a[i]地址的引用,也有4種等價的引用方法:①&a[i];②&p[i];③a+i④p+i。從上面可以看出,當指針p指向數(shù)組a的首地址后,a和p具有相同的引用方法。但是,a和p有著本質(zhì)的區(qū)別:a是數(shù)組而p是指針;a不能重新賦值而p可以隨意的重新賦值。例10.3有以下程序:main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d”,*p+*q);}程序運行的輸出結(jié)果是_______。16B)10C)8D)

6、6答案:B例10.4有以下程序:main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(“%d”,s);}程序執(zhí)行后的輸出結(jié)果是_______。45B)20C)25D)36答案:C10.2二維數(shù)組和指針二維數(shù)組的首地址和數(shù)組元素的地址如有以下語句:inta[2][3],*p,i;數(shù)組a如下所示:a[0]a[0][0]a[0][1]a[0][2]a[1]a[1][0]a[1][1]a[1][2]任何一個二維數(shù)組由若干個一維數(shù)組組成實際上,二維數(shù)組a由兩個元素組成,分別是a

7、[0]和a[1]。而a[0]和a[1]又分別是兩個一維數(shù),如上圖所示。a[0]和a[1]可以視為這兩個一維數(shù)組的數(shù)組名,它們分別由3個整型元素組成。其中,a[0]由以下三個元素組成:a[0][0]a[0][1]a[0][2]a[1]由以下三個元素組成:a[1][0]a[1][1]a[1][2]通過前面學習,我們已經(jīng)知道一維數(shù)組名是一個地址常量,其值為數(shù)組第一個元素的地址值,此地址的基類型就是數(shù)組元素的類型。在以上二維數(shù)組中,a[0]和a[1]都是一維數(shù)組名,它是一個不可變的地址常量,其值代表每行的首地址。因此,a[0]代表了a[0][0]的地址,a[1]代表了a[

8、1][0]

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。