在这段代码中,“数组”是一个指向字符的指针数组?还是别的?
struct tmep{
char (*array) [SIZE];
}
提前致谢:)
最佳答案
它是指向 SIZE
char
数组的指针。
声明模仿使用,所以你首先计算括号,(*array)
给你一个 char[SIZE]
。
分配,稳定版照常
array = malloc(num_elements * sizeof *array);
通过采用取消引用的指针的 sizeof
来指定 block 中每个对象的大小(此处为 char[SIZE]
)。如果类型发生变化,例如,您不需要更改该分配为 int (*)[SIZE]
。
如果要指定类型,
array = malloc(num_elements * sizeof(char (*)[SIZE]));
这分配 - 如果 malloc
成功 - 一个足够大的 block 用于 num_elements
个 SIZE
char
数组,这些数组中的每一个都可以访问
array[i]
和 block 中数组中的char
array[i][j]
关于c - 代码中的这一行是什么意思? (指向字符的指针数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259254/