当你调用一个包含枚举类型的结构时会发生什么?

时间:2013-10-06 19:56:30

标签: c enums calloc

typedef enum { false, true }bool;

struct { bool value_set; int value; }

使用calloc分配此结构时会发生什么?枚举是否会被视为错误 默认值?由于calloc将内存设置为0。

1 个答案:

答案 0 :(得分:0)

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

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

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