1樓:匿名使用者
你的理解有一半是對的,有一半是錯的。對的就是你明確了兩個陣列都是不確定的,錯的就是你誤以為0可以有無限個。
你要知道第一維度和第二維度都代表什麼。前面代表陣列有幾行,後面代表每行有幾個元素。
如果int [3] = 那麼系統知道了每行有幾個,就可以確定陣列為a[1][3];
如果int [3] = ;那麼系統就確定陣列為a[2][3]= ;0的個數就可以被確定了。
但是如果是int [4]=那麼系統就不知道每行有幾個,就沒法確定有幾個0了。
你可以試試直接定義a=;是可以的。相當於a[3];
2樓:匿名使用者
只允許第一維度可以省略,如:
x=;x[5]=;
x[5][6]=;
不允許如下定義:
x[4]=;
x[4][3]=;
編譯器根據實際賦值,確定第一維度
3樓:su9_踏雪無痕
關於多維陣列的定義有一個約定是這樣的:
在多維陣列中只有第一維才能根據初始化列表預設地提供,剩餘的幾個維必須顯示的寫出,這樣編譯器才能推斷出每個陣列維數的長度。
關於你的疑問例如後者:
int x [3] = }; 第一維是1int x [3] = ,}; 第一維是2關於後者你的理解是錯誤的,3代表每一維有三個元素,而你寫了四個。
4樓:匿名使用者
首先,多維陣列可以看成是一維陣列,其實計算計就是這麼做的。
那麼int x[4];
這個的一行有多少數,你不知道,你叫計算機怎麼申請空間。
int x[3];
它的行是由你賦值來確定的
5樓:
在譚浩強所編的c程式設計中有關於這方面的介紹
用矩陣形式表示二維陣列,是邏輯上的概念,能形象地表示出行列關係。而在記憶體中,各元素是連續存放的,不是二維的,是線性的。
在c語言中,二維陣列中元素的排列順序是按行存放的,即在記憶體中先順序存放第一行的元素,接著再存放第二行的元素。
為什麼int x[4][]={{1,2,3},{1,2,3,},{1,2,3,},{1,2,3,}};是錯誤的定義語句?
6樓:匿名使用者
c語言的bai規則要求必須指定第du2維的元素zhi個數,例子中只dao指定了第專1維
可以考慮修改屬成
int x[4][3]=,,,};
或者int x[3]=,,,};
7樓:匿名使用者
這樣bai是不合
du法的
zhi你可以dao有兩種內初始化
容1 int a[3]=;
2 int x[4][3]=,,,};
8樓:冷眼
應該是int x[4][3]吧
9樓:匿名使用者
錯的,下面bai才是對的du
int x[3]=,,,};
編譯器知道本來就zhi知道大{},有幾個dao小括號,所以行專數就知道了,但是列數
屬不知道,你那樣肯定很報錯的。
10樓:匿名使用者
#include
using namespace std;
int main()
,,,};
for(int i = 0; i <4; i ++)printf("\n");
}return 0;
}參考一下,
復int[4] 是c++不允許
制的,必須指定陣列的一維二維大小。還有你的第 定義3個元素,其他的定義4個元素。
以下正確的陣列定義語句是()a int y[1][4]={1,2,3,4,5,} b float x[3][]={{1},{2},{3}}
11樓:我叫鄭眾
這個copy題在bai於對二維數du組的理解。
二維陣列即
是a[m][n]表示一個m行zhin列的陣列,陣列種元素的個dao數是m*n個,例如int y[1][4]表示一個1行4列的陣列,包含1*4=4個元素,而且不能寫成int y [1,4]。從數學的角度理解,二維陣列即是矩陣。
二維陣列的使用規則如下:
1、行下標(m)、列下標(n)從零開始,知道定義的值減1結束。
2、二維陣列初始化的型別:
1)分行給二維陣列賦值。例如:
int y[2][3]=,};表示在這個2行3列的二維陣列裡,第一行是1,2,3;第二行是4,5,6。
2)所有元素寫在一個花括號中。例如:
int y[2][3]=;
3)對部分元素賦值。例如:
int y[2][3]=,};表示給第一行第一個數字賦值1,給第二行第一個數字賦值4;其餘未賦值的元素均為0.
3、二維陣列的行下標不一定要說明,列下標必須說明。例如:
int y[3]正確,int y[2]錯誤。
綜上所述,a錯誤,a中元素只有1*4=4個,而後面寫了5個數字;b錯誤,b的列下標沒有說明。
希望幫到你。
12樓:匿名使用者
兩個都錯 第二個應該改為:float x[3]=,,};
13樓:匿名使用者
a明顯錯誤 最後那個5和逗號不應該有選b
14樓:超級撒亞人
a和b兩個都不對,可能選c或者d
請問int x[][3]={0}; int x[][3]={{1,2,3},{4,5,6}};如何理解其中的[]?
15樓:聽不清啊
a. int x[2][3]=; 陣列共6個元素,全部初始化了。
b. int x[3]=; 陣列只要一行就夠了,共三個元素。
c. int x[3]=,}; 陣列有2 行(由初始化的資料個數確定),每行3個元素。
16樓:淳延
1. int x[2][3]=,,}
(1)這句的左邊含義是:有一個二維陣列,2行3列,一共就是6個int型別的資料。
(2)這句的右邊含義是:最裡面的三個花括號,代表的是三行,每個花括號裡有兩個資料,代表的是每行有2列,所以代表的意思是:3行2列的一個int型別的二維陣列。
(3)2行3列和3行2列的兩個二維陣列,當然是不一樣的。所以把後者賦值給前者。
2. int x[3]=:代表的是行數未知,列數是3的二維陣列,把該陣列裡的陣列全部賦值為0。
(1)int x[3]=,}:這個等號右邊是2行3列的int型別的資料
(2)等號左邊的x[3]代表的是:行數未知,列數是3的二維陣列,由於賦值操作,於是可以得出行數是2。
(3)所以x[3]是一個2行3列的一個二維陣列,即:x[2][3]。
17樓:匿名使用者
就是讓編譯器猜有幾行
陣列定義為 int a[3][2]={1, 2, 3, 4, 5, 6},陣列元素_____的值為6。
18樓:匿名使用者
b。int a[3][2]=;
定義a為3*2(3行2列)的陣列,有6個元素。該陣列的下標變數共有3×2個,即:
a[0][0],a[0][1]
a[1][0],a[1][1]
a[2][0],a[2][1]
陣列中的每個元素都由元素名以[i,j]的形式標識,其中a是陣列名,i和j是唯一標識a中每個元素的下標。這是一個有三行四列的二維陣列:i從0到2,j從0到1。
若要表示第2個元素,則使用a[0][1]。
19樓:匿名使用者
陣列宣告格式為 資料型別 陣列名[行數][列數]int a[3][2] 即int型別 3行2列的陣列aa[0][0] a[0][1]
a[1][0] a[1][1]
a[2][0] a[2][1]
具體數值是:
1 23 4
5 6故答案是b。
20樓:匿名使用者
a[3][2]表示3行2列的矩陣
就是1 2
3 45 6
a[0][0]=1
以此類推:a[2][1]=6
21樓:匿名使用者
public class tt
private static void prtsum(int a)public static void main(string args)
;prt(a);
prtmax(a);
prtsum(a);}}
int a[2][]={{1,2},{3,4}}; 求解這語句有什麼問題,該怎麼改呢
22樓:匿名使用者
你的二維陣列定義錯誤了,應該是int a[2][2]或者int a[2]
23樓:匿名使用者
改為a[2]試試
vb定義陣列
阿豪呦 有兩種方法定義陣列 1.知道陣列的元素個數,那麼直接定義 dim a 9 as integer 2.暫時不知道元素個數,或者該陣列應用在多個地方,那麼如下定義 dim a as integer 在使用的時候,再重定義一下就可以了 redim a 9 dim private public 陣列...
vfp陣列問題,vfp中如何定義陣列
alen 函式 返回陣列中元素 行或列的數目。語法alen arrayname narrayattribute 引數arrayname 指定陣列名。如果引數僅包含陣列名,alen 函式則返回元素的數目。narrayattribute 確定 alen 函式返回的是陣列元素的數目 陣列的行數,還是陣列的...
vba陣列賦值,VBA陣列的定義與賦值
1 開啟一個excel的檔案,在 中輸入簡單的 比如學生身高 如下圖所示。2 接著,在 中輸入一維陣列的說明文字,滑鼠左鍵單擊 開發工具 選單標籤,在vba控制元件下拉選單中,並選擇按鈕控制元件,如下圖所示。3 然後,在 中繪製出按鈕控制元件,並修改控制元件名稱,比如使用一維陣列的名稱,如下圖所示。...