我有一个以这种方式定义的结构。
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()。
难道我做错了什么?