所以基本上,我要做的是将数组作为参数传递。我提出了这样的想法:
#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(*)[(unsigned int)(x)]'但参数的类型为'int'
任何帮助都将不胜感激。
答案 0 :(得分:3)
您正在将参数错误地传递给函数。
它应该是function(array)
所指出的
其他观察:
1. random()
的使用应该是random()%10;
而不是random(10);
,除非它有一些非标准功能。
2. int main()
应为int main(void)
或int main(int argc, char **argv)
3.您应该从main
说return 0
或return EXIT_SUCCESS
附加说明:
请注意,您可能无法在函数中获得阵列的实际尺寸。可能你应该考虑传递数组的维度,以防你计划在函数中使用它。
希望这有帮助!
答案 1 :(得分:2)