C 陣列定義與初始化,C 關於陣列的賦值與初始化的問題

時間 2022-02-15 13:45:07

1樓:匿名使用者

int b1 = 是合法的,系統會自動給陣列b1分配3個整型數的空間大小,因為它是一維陣列,大小可以由後面確定。

int b2=; 它是二維陣列,我們至少需要定義它的最高維的大小。也就是至少是b2[4],想想你什麼都沒定義,我怎麼通過後面的賦值來判斷b2陣列是幾行幾列呢?

最後兩組是指標,相信看看指標就會知道,指標是指向記憶體的地址,第一個指標p1是指向一維陣列的指標,大小也是由後面確定的。相當於int p1 = 指標初始化時值為空。第二個應該是指向二維陣列的指標,但這樣定義肯定是不對的,因為你還是把它當一維來看,正確的應該是int (*p2)[4] = new int[3][4] 或者int** p2 = new int[3][4]。

2樓:小北娃

純語法問題。建議好好看下c++語法書。

int b2=; //這樣就不可以?

因為是二維陣列,所以不可以。

int *p2=new int[3][4]; //這樣就不可以?

因為是二維陣列,所以要賦值給二級指標。比如 int** p2就可以了。

c++關於陣列的賦值與初始化的問題

3樓:匿名使用者

char a="dsaf" ; //在陣列定義時進行資料初始化。 這是一種規定格式,只有在此處時,這樣寫是對的!

a="dsaf" ; //當a是陣列時,陣列名a表示的是地址值(相當於一個常量),是不允許改變的,賦值操作是不允許的!

4樓:左灬王

首先a你沒定義= =你就定義了a 在定義字串時初始化可以省略【】中間的數字

也可以下次初始化

你可以這樣 char a[5];a[5]="dsaf"

c++如何為陣列成員在初始化列表裡初始化

5樓:匿名使用者

如果你一定要在初始化列表中初始化,可以這樣做,就是麻煩了些:

class a

;public:

a(int n):a0(n){}};

6樓:

class a

}注:陣列可以用大括號初始化,且不會出warning。如:

class a}

7樓:

初始化類表初始化的是類的成員,你這個類中的成員是a,而不是a[0]

所以不行

8樓:匿名使用者

a(int n)

跪求C 中物件陣列初始化程式設計小問題

include include using namespace std class student student student student student int nage,const char lpszname student student void student setmember ...

C 如何用fill初始化二維陣列

c 中用new動態建立二維陣列的格式一般是這樣 type p n new type n 其中,type是某種型別,n是二維陣列的列數。採用這種格式,列數必須指出,而行數無需指定。在這裡,p的型別是type n 即是指向一個有n列元素陣列的指標。還有一種方法,可以不指定陣列的列數 int p p ne...

c語言程式 定義二維陣列int m 3並初始化,完整題目如下

include int main void file fp 寫入操作 fp fopen data w 以只寫方式開啟檔案 fwrite m,sizeof m 1,fp 寫入資料 fclose fp 關閉檔案 開啟操作 int newm 3 3 int i,j fp fopen data r 以只讀方...