在这段代码中,“数组”是一个指向字符的指针数组?或者是其他东西?
struct tmep{
char (*array) [SIZE];
}
提前致谢 :)
它是一个指向 s 数组的指针SIZE char。
声明模仿使用,所以你首先评估括号,(*array)给你一个char[SIZE].
分配,稳定版照常
array = malloc(num_elements * sizeof *array);
通过采用取消引用的指针来指定块中每个对象(char[SIZE]此处)的大小。sizeof如果类型更改为int (*)[SIZE].
如果要指定类型,
array = malloc(num_elements * sizeof(char (*)[SIZE]));
这将分配 - 如果malloc成功 - 一个足够大的块用于s 的num_elements数组SIZE char,这些数组中的每一个都可以使用
array[i]
以及char块中数组中的 s
array[i][j]