[問題] variable length arrays

看板C_and_CPP作者 (colore)時間14年前 (2009/10/23 00:08), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
在C99, 可以如下操作 ... int main(void) { ... int arraySize; ... scanf( "%d", &arraySize); ... int array[arraySize]; ... --------------------------------------------------- 是否有類似function prototype的宣告方式, 如 ... int main(void) { ... int arraySize; int array[*]; // 如何宣告??? ... scanf( "%d", &arraySize); ... int array[arraySize]; // 如何指定array大小??? ... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.87.135

10/23 00:12, , 1F
動態的 size 你要用 malloc
10/23 00:12, 1F

10/23 00:13, , 2F
不然編譯器不知道你到底要多少空間
10/23 00:13, 2F

10/23 00:15, , 3F
我會想要把跟那個 array 有關的程式碼獨立成 function
10/23 00:15, 3F

10/23 00:16, , 4F
傳遞arraySize進去 在function開頭建立array[arraySize]
10/23 00:16, 4F

10/23 00:38, , 5F
這個東西根本不實用 底層是 call alloca 離開就消失了
10/23 00:38, 5F
文章代碼(AID): #1Au8DXEB (C_and_CPP)