陣列初始化問題

時間 2022-08-16 17:20:12

1樓:匿名使用者

分配的空間,比如

int a[10];

這就是在定義時由系統給你分配了10個int型別的空間,這個空間是可以初始化的,比如

int a[10] = ;

那麼在這個定義之後,系統會首先分配10個int型別的儲存空間,然後把大括號裡面的數字分別的,按順序放到這10個空間裡。你所做的只是寫這麼一句,而陣列賦值的操作就由系統完成了。當然,初始化與否看你的需求,初始化不是強制性操作,想初始化就初始化,不想也沒問題,還是上面的例子繼續:

int a[10];

這裡定義了,但是沒初始化,這沒有任何問題,以後你可以自己往裡面賦值,比如

a[1] = 8;

a[5] = 3;

或者for(int i = 0; i < 10; i++)

a[i] = i;

等等對於動態陣列,不能被初始化,因為動態陣列在定義時只是個指標,比如

int *a;

這裡變數a只是個指向int型別的指標,而不是陣列。動態分配有10個int型別元素的陣列,如下:

a = (int) malloc(10*sizeof(int));

很明顯,指標a在定義的時候不能被初始化,比如這樣寫就是錯誤的:

int *a = ; /* 錯誤! */

因為a是只有4個位元組的指標,沒有可用的儲存空間給需要初始化的變數。

所以,靜態陣列從語法上來說允許被初始化。作為程式設計師來說,你可以初始化靜態陣列,也可以不初始化,由你決定。

2樓:匿名使用者

下面一種是通用的,至少我接觸過的程式語言都有,在c++中,大家都用第一種,沒有什麼區別吧,編譯成二進位制檔案不都乙個樣。

3樓:匿名使用者

double atl[8] = ;

物件陣列初始化,物件陣列初始化(C )

95郭逗比 一 一維 int numbers new int 不定長 int numbers new int 3 定長 二 多維 int numbers new int 不定長 int numbers new int 2,2 定長 三 例子 a int mf1 new int 6 注意初始化陣列的範...

關於C 初始化的問題

程式的執行順序是.先引導程式到記憶體.初始化全域性變數.呼叫main函式 main函式退出 刪除全域性變數 其他收尾工作.所以一般來說是會輸出的.輸出在main函式被呼叫之前.析構函式輸出在main結束以後 之所以加個 一般 是因為cout也是個全域性變數,你不能保證cout在你的q之前被初始化.如...

諾基亞手機怎麼初始化,諾基亞手機怎樣初始化恢復出廠設定的方法

格一下機子,又軟格和硬格,具體如下 一 基本理論 軟格和硬格的共同效果都是格機,使得手機恢復到出廠設定,c盤檔案 空間大小也同時恢復出廠設定。二 特別宣告 硬格和軟格其實是一樣的效果,並不存在硬格比軟格完全的說法。軟格是在手機可以啟動到待機介面然後通過輸入指令來實現格機的方式 而硬格是在手機因安裝某...