用VLA在C中声明多维数组

时间:2016-10-25 20:06:37

标签: c arrays multidimensional-array

在我的C教科书中,它声明以下内容可用于声明和分配大小为a的矩阵mxn(如果支持VLA:s)

double (*a)[n];
a = malloc(m*n*sizeof(double));
a[2][3] = 3.141592653;

我知道a是一个指针,所以编译器只需要为指针分配内存。我不明白的是na声明中的作用。编译器是否以任何方式使用此信息?它不会影响a的大小,这只是双指针的大小,最终我们让a指向大于n的内存区域(提供{ {1}})。

0 个答案:

没有答案