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

时间:2012-02-14 16:54:55

标签: c arrays pointers multidimensional-array shared-ptr

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

这个问题帮助我分配了数组:defining a 2D array with malloc and modifying it
我正在定义这样的数组: char(*array)[100] = malloc((sizeof *array) * 25200); 而我在main()中这样做 我可以在此数组中存储25200个字符串,然后通过array[1]

访问它们

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

1 个答案:

答案 0 :(得分: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);