在这段代码中,“数组”是一个指向字符的指针数组?或者是其他东西?
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]