文件/程序范围内的2D数组

我需要一个可以从不同方法访问的数组,我必须在main()中分配这个数组,然后让其他函数如foo()访问这个数组。

这个问题帮助我分配了数组: 用malloc定义一个2D数组并修改它
我正在定义这样的数组: char(*array)[100] = malloc((sizeof *array) * 25200); 我在main()中这样做
我可以在这个数组中存储25200个字符串,通过array[1]访问它们

现在可以从不同的方法访问此数组,我该怎么做?

有了这个声明:

 char (*array)[100] = malloc((sizeof *array) * 25200); 

你可以有一个函数foo

 void foo(char array[][100]) { array[42][31] = 'A'; // you can access characters elements this way strcpy(array[10], "Hello world\n"); // you can copy a string this way } 

你可以用这种方式调用foo

 foo(array);