0
typedef enum { false, true }bool;

struct { bool value_set; int value; }

使用 calloc 分配此结构时会发生什么?枚举会将 false 作为默认值吗?由于 calloc 将内存设置为 0。

4

1 回答 1

0

枚举是整数类型。如果您不为它们分配值,它们将从 0 开始并增加。因此你的 typedef 相当于

typedef enum { false = 0; true = 1; } bool;

因此 calloc 将设置value_set为零,等于false.

于 2013-10-06T20:00:50.463 回答