C語言--一維數組和多維數組數組名的含義


一、一維數組

        對於一維數組,我們很容易理解數組名和元素地址的關系,即數組名代表數組首地址,亦即第一個元素的地址。

如定義數組int a[9]={1,2,3,4,5,6,7,8,9},則由上面的說明可得

a=&a[0],*a=a[0];

a+1=&a[1],*(a+1)=a[1];

.........

二、二維數組

       對於二維數組,我們一定要記住:它是數組的數組。如定義一個二維數組int b[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},此時我們知道,可以把b看做是一個有三個元素的數組,分別是b[0],b[1],b[2];每個元素(b[0],b[1],b[2])又都是有四個元素的一維數組。那么,此時的數組名代表什么呢?

       按照一維數組的思路去思考,b代表第一個元素的地址,那么這里的第一個元素應該是一維數組b[0];而b[0]又是一維數組的數組名,也就是說b[0]代表數組b[0]中的元素首地址。這樣一來就可以得到:

b=*b=b[0]=&b[0][0],**b=*b[0]=b[0][0];

*b+1=b[0]+1=&b[0][1],*(*b+1)=*(b[0]+1)=b[0][1];

......

b+1=*(b+1)=b[1]=&b[1][0],**(b+1)=*b[1]=b[1][0];

*(b+1)+1=b[1]+1=&b[1][1],*(*(b+1)+1)=*(b[1]+1)=b[1][1];

......

用圖示的方法為:

在內存中,他們是一維排列的,如下圖所示:

 三、多維數組

對於多維數組的分析,和二維數組是一樣的,始終記住:多維數組就是數組的數組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM