1. 程式人生 > >[c]c語言中可不可以用變數定義陣列的個數

[c]c語言中可不可以用變數定義陣列的個數

C語言中不可以用變數定義陣列的個數。
原因如下:
由於陣列在定義的時候,系統就會分配對應的儲存單元,如果用變數,系統就不知道該分配多少位元組的儲存單元,就會報錯。


但可以先定義一個希望陣列型別的指標,使用的時候動態申請變數所表示的大小,並賦值給前定義指標,申請成功後就可以像陣列一樣使用了(指標名就是陣列名)
int *myarr;
int size;

size = 10;
myarr = (int *)malloc(size * sizeof(int));
myarr[0] = 123;
myarr[size-1] = 999;