假设我有一个这样的结构:
typedef struct {
char *str;
int len;
} INS;
以及该结构的数组。
INS *ins[N] = { &item, &item, ... }
当我尝试访问它的元素时,不是作为指针,而是作为结构本身,所有字段都被复制到一个临时的本地位置?
for (int i = 0; i < N; i++) {
INS in = *ins[i];
// internaly the above line would be like:
// in.str = ins[i]->str;
// in.len = ins[i]->len;
}
?
那么当我增加结构字段时,这将是一个更昂贵的分配操作?