1樓:匿名使用者
ad吧,
&a[2][0]就是第2行首地址。
a步長是整個陣列長度a + 2跳飛了。
b是c同理
其實答案是我蒙的。
c語言大神進 c語言中,例如一個二維陣列a[3][4],則a與a[0]代表的意思一樣嗎?a
2樓:匿名使用者
char *p是一維的, str是2維的,p=str,二者不匹配。str[0]是一維的,與p同型別。
a與a[0]只是在使用a的首地址這個值時意義才一樣。
a是地址,*a是取a這個地址中儲存的一個byte.[看數值型別,如果是整數,則是取整數]
3樓:匿名使用者
題主還是不理解指標。
char str[10]=,*p;
這個定義裡str相當於一個二維指標,而p是一維指標。
二維陣列在記憶體中按行儲存,所以可以說整個二維陣列包含兩個一維陣列,也就是兩行,第0行是「ok」,第一行是「good」。 "ok"和"good"的首地址分別為(一維指標)str[0]和str[1],str[0]只是指向二維陣列第一行的(一維)指標,而str是指向整個二維陣列的(二維)指標,所以,p和str[0]都是一維字元型指標,賦值是沒問題的,但是p=str;是不對的。
c語言中,有一個二位陣列inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};請問a[0],*(a+0)和*(*(a+0))的區別?
4樓:匿名使用者
要明白這事先要弄清二維陣列的儲存問題
先說一維陣列,舉例a[3],陣列名稱a就是指標,就是這個陣列的起始地址。其中各元素的地址就是a, a+1,a+2. 它們的值分別是*a, *(a+1), *(a+2),也就是a[0],a[1],a[2].
二維陣列int a[3][4],陣列名稱a則是指標的指標,它指向指標陣列a[3],其中每一個元素又分別指向一個一維陣列,每個陣列包含了4個整數。
來自c語言基礎訓練…
c語言判斷有二維陣列a[3][4] , *(*(a+2)+3)代表陣列元素a[2][3]的值。
5樓:匿名使用者
*(a+2)意思是第三行元素的首地址即a[2][0]的地址,*(*(a+2)+3)意思是第三行元素首地址加3再取值,第三行元素首地址加3就是第三行第四個元素的地址,在取值就是a[2][3]的值了。
c語言二維陣列下標表示方法,C語言二維陣列下標表示方法
下標就是在裡的,他是重0開頭的。具體表示如下 int a 5 5代表a最後個陣列裡的元素個數 是初學者吧!要努力喲!int n float a n n 都是從0開始到n 1 c語言二維陣列下標的值怎麼算 陣列的下標是從0開始,由於陣列是連續儲存的,你可以想象用一個4x4的 來表達這個陣列,然後把fo...
c語言中二維陣列行指標是什麼,C語言中二維陣列行指標是什麼
就是指向每一行的指標,比如說二維陣列a 2 3 a 0 代表的是二維陣列第零行的首地址相當於 a 0 0 a 1 代表的是二維陣列第一行的首地址相當於 a 1 0 a 0 1代表的是二維陣列第零行,第一列的地址相當於 a 0 1 行指標其實就是二級指標,也就是說它指向一個一維陣列,int a 2 3...
c語言判斷有二維陣列a4a
a 2 意思是第三行元素的首地址即a 2 0 的地址,a 2 3 意思是第三行元素首地址加3再取值,第三行元素首地址加3就是第三行第四個元素的地址,在取值就是a 2 3 的值了。c語言二維陣列 a 3 4代表什麼 char p是一維的,str是2維的,p str,二者不匹配。str 0 是一維的,與...