1樓:匿名使用者
同一維陣列,二維陣列名錶示陣列中第一個元素的地址
2樓:匿名使用者
二維陣列的每一行是一個一維陣列
二維陣列名就是一個指向一維陣列的指標,也可以說是一個指向指標的指標
3樓:匿名使用者
第一個元素的地址。
所謂的「二維陣列」只不過是「陣列的陣列」(陣列的元素型別為陣列)而已
一維陣列的陣列名錶示第一個元素的地址那麼二位陣列的陣列名有什麼含義呢?
4樓:回憶獨奏
直觀的看的話可以表示資料在第幾行第幾列,個人認為可以當做地址的地址。
陣列名代表陣列第一個元素的地址,二維陣列三維陣列也這樣嗎?
5樓:匿名使用者
同樣都是陣列名bai,而且陣列du
名代表陣列第一
zhi個元素的地址 這話說的有問題啊dao陣列名代表的是回陣列的首地址!答
但不同的維數的陣列情況是不一樣的,如二維陣列int b[3][2] ;
b是陣列的首地址,也是第一行的地址
b[0]是第一行第一個元素的首地址(也可以說是陣列第一個元素的地址)可是從數值上來說,b和b[0]是相等的。
變數在進行賦值時,需要接收資料的變數與值變數(或常量)是相同型別才可以
回到你的問題中
int a[2]=; //一維陣列
int b[1][2]=; //二維陣列
int * p1=a;//一維陣列對應一維指標,可以賦值int * p2=b; //二維陣列 對應 」偽「二維指標,而p2是一維指標,所以賦值時會有編譯錯誤
」偽「二維指標 這樣記比較方便,實際上應該是這樣的:
int (*p2)[2] = b ; //這樣才是準確的 p2是個指標,指向一個有兩個int元素的資料塊
6樓:匿名使用者
對,不過二維陣列被視為元素為一維陣列的一維陣列,同樣地,三維陣列被視為元素為二維陣列的一維陣列。
c語言中,整型陣列的陣列名錶示指向該陣列的第一個元素的指標,那麼字元陣列的陣列名也表示指向第一個元
7樓:天雨下凡
是的,陣列名都是表示指向第一個元素的指標,也就是說陣列名是一個指標,但是要注意,陣列名這個指標是不能修改的。
c++二維陣列名指的是陣列的首地址嗎? 40
8樓:匿名使用者
二維陣列名即為陣列的首地址,不過a表示行地址,當a+1指向了陣列的專下一行。a的地址屬和&a[0][0]的地址一樣,a+1的地址和&a[1][0]的地址一樣
int a[2][4] = ;
cout << a << endl;
cout << a+1 << endl;
9樓:匿名使用者
是的,你可以試試看,
比如int arr[4][4] = ;
cout<<(arr == &arr[0][0]); //比較一下陣列名和陣列第一個元素地址的值比較一下,看是不是相等
10樓:愛因斯坦波
嗯,陣列名代表的是陣列的首地址
c++中陣列名a和&a的不同之處
11樓:折柳成萌
c/c++裡面的陣列名字抄會退化為指標,襲所以陣列名a實際指的是
陣列的第一個元素的地址。而陣列名作為指標來講有特殊性,它正在它所指向的記憶體區域中,&a的值和a的數值是相同的(可以輸出觀察一下),但是型別和意義不同。而指標的加法操作和指向的資料型別密切相關。
比如:int a[10]; a就相當於int *,如果是對它加1(a + 1)是相當於a + 1 * sizeof(int)。但是&a的型別則相當於int **,是所謂指向陣列的指標,是陣列元素型別的二級指標,對它加1是相當於 &a + 1 * sizeof(a)的,所以會偏移一個陣列長度。
12樓:匿名使用者
一個是房間,一個是房間號
一道c++的題目 關於陣列的 第7題 a不是應該代表陣列首元素的地址 而a+1是陣列第二元素的地址 10
13樓:破產的樓主
輸出應該是study和u和tudy吧,陣列是引用型變數,用陣列名直接輸出就是輸出整個陣列的所有元素,而陣列名+1自然就是輸出除了第一個元素之外的所有陣列元素
14樓:匿名使用者
首先:ch指向字元陣列的第0個元素的位置,即s.(陣列下表從0開始)ch[2]代表字元陣列的第2個元素,即u。
ch+1代表陣列第1個元素的位置,即t。
所以最終結果:
study
utudy
第一個空為什麼是m?c語言程式設計。順便解答一下對於二維陣列,陣列名跟著一箇中括號,表示的是什麼?
15樓:匿名使用者
這裡用到的是陣列指標
二維陣列為x[n][m]
每行m個元素
定義指向這個陣列的數內組指標就需要 char (*ss)[m];
呼叫容後 x和ss等效
迴圈按行迴圈 所以第二個空是n
陣列名跟著一箇中括號
對於二維陣列來說, 是對應行的首地址。 比如 x[1]就是第二行的首地址
c語言中陣列名就是陣列的首地址,怎麼解釋?哥們菜鳥
16樓:匿名使用者
哥們應該寫錯了吧,陣列名應該是a,以你的例子為例。int為型別說明符,a為說組名,【3】【20】是常量或者常量表示式;c語言預設陣列名a為陣列首地址;希望對你有幫助
17樓:手機使用者
樓主,你定義了一個二維陣列,但你弄錯了一點,陣列名是a而不是你說的a[3][20].
對於二維陣列a是指向行的而不是指向列。 陣列名a是二維陣列第一行的起始地址,a+1是第二行的起始地址。
18樓:匿名使用者
比如a[3][4]
c語言對二維陣列的處理方式是將其分解成多個一維陣列。如對二維版陣列a的處理方式是把a看成是一權個一維陣列,陣列a包含a[0],a[1],a[2]這3個元素。而每一個元素又是一個一維陣列,各包含4個元素,如a[0]所代表的一維陣列又包含a[0][0],a[0][1],a[0][2],a[0][3],這4個元素。
由於系統並不為陣列名分配記憶體,所以由a[0],a[1],a[2]組成的一維陣列在記憶體中並不存在,他們只是表示相應的行的首地址。
19樓:匿名使用者
這個數來組名是a
a就相當於指自針bai,存的是陣列的首du地址1 #include
2 int main()
3 可以zhi列印出a的地
dao址
20樓:匿名使用者
int a[3] [20],在這個定義裡面,a是陣列地址。所以有a==a[0]=&a[0][0]
c語言中二維陣列它的陣列名是a那a和a有什麼
對於二維陣列名a和 a,二者的區別在於型別不同。對於type a m n 當使用a時,可以等同於二級指標type 型。而使用 a時,等同於type 型。從概念上說,a表示二維陣列a的首地址,而 a表示二維陣列a第一行a 0 的首地址。這樣在使用的時候就有所區別。比如 對a的操作a 4 表示a的第四行...
關於C語言一維陣列元素互換的問題謝謝了,大神幫忙啊
互換就是說把兩bai個不同位置du的資料值相互交換,而zhi交換不能直接交換了,需要dao藉助一箇中間變專量。舉個例 假設陣列屬有2個元素,分別為1,2 int data 2 data 0 1 data 1 2 現在需要互換,即要達到目的使得data 0 2 data 1 1 此時如果直接使用 da...
c語言陣列題有陣列,資料元素從下標為1的位置開始存放,試編寫演算法 刪除陣列
include int shanchu int a,int n for j i j n 1 j return n 1 void print int a,int n printf n int main print a,n n shanchu a,n print a,n return 0 有問題請追問。...