【发布时间】:2013-09-19 17:58:12
【问题描述】:
我有一个以这种方式定义的结构。
typedef struct COUNTRY {
char Code[3];
char Country[30];
int Population;
float Expectancy;
struct Country *Pointer;
} COUNTRY;
我见过这样分配的结构数组:
COUNTRY *countries = calloc(128, sizeof(COUNTRY));
或者可能是这样的:
COUNTRY *countries = malloc(128 * sizeof(COUNTRY));
但这有什么作用:
COUNTRY countries[128] = {};
因为我仍然能够在所有情况下写入每个条目的字段。第三种选择只是不好的形式吗?对我来说这似乎更好,因为您可以将该行与 main() 的其余变量声明外部放在一起。否则,您只能在 main() 或其他函数中使用 calloc() 或 malloc()。
我做错了吗?
【问题讨论】: