我希望我的数组成为全局数组,但是我使用scanf()获得了变量。
#include <stdio.h>
int m, n;
int main (void){
scanf("%d", &m);
scanf("%d", &n);
int array[m][n];
make_arr(array); //initializes array with random numbers
}
那是什么解决方案?
编辑:我使用Farbod Shahinfar的解决方案,但无法将其用于我的功能:
void make_arr (int array[m][n] ){
int i , j ;
srand(time(NULL));
for(i=0;i<m;i++)
for(j=0;j<n;j++)
array[i][j] = rand() % 2;
我该怎么办?
您可以声明一个指向数组的全局指针,并在扫描输入后进行设置。
如Nate所述,您可以创建一个全局指针,然后使用“ malloc()”向其分配内存。
#include<stdio.h>
#include<stdlib.h>
int *array;
int main() {
int m, n;
scanf("%d", &m);
scanf("%d", &n);
array = malloc(sizeOf(int) * m * n);
return 0;
}