所以基本上,我試圖做的是傳遞數組作爲參數。我想出了這樣的想法:傳遞多維數組作爲參數c
#include <stdio.h>
#include <stdlib.h>
int x;
void function(int array[][x]){
//stuff here
}
int main(){
x = random(10);
int array[10][x];
//initialize array
function(array[10][x]);
}
我想這應該工作,但它給了我一張紙條:
預期 'INT(*)[(無符號整數)(X)',但參數是'int'類型
任何幫助,將不勝感激。的
function(array[10][x])
當然,數組聲明也是無效的,因爲x在編譯時是未知的。如果我錯了,請糾正我,但是您爲此拒絕使用malloc。它被稱爲'VLA'(可變長度數組),它支持C99向前(但不在C++中) –
@B_o_b:我有一種感覺,我正要學習新的東西。謝謝。留下像我這樣的人的評論。 –
@ another.anon.coward:int * array =(int *)malloc(10 * x)' –