Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
typedef enum { false, true }bool; struct { bool value_set; int value; }
使用 calloc 分配此结构时会发生什么?枚举会将 false 作为默认值吗?由于 calloc 将内存设置为 0。
枚举是整数类型。如果您不为它们分配值,它们将从 0 开始并增加。因此你的 typedef 相当于
typedef enum { false = 0; true = 1; } bool;
因此 calloc 将设置value_set为零,等于false.
value_set
false