所以基本上,我试图做的是传递数组作为参数。我想出了这样的想法:传递多维数组作为参数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)' –