2013-10-06 3 views
0
typedef enum { false, true }bool; 

struct { bool value_set; int value; } 

Что происходит, когда эта структура выделяется с помощью calloc? Будет ли значение enum содержать false как значение по умолчанию? Поскольку calloc устанавливает память на 0.Что происходит, когда вы вызываете структуру, содержащую тип перечисления?

+0

Да. Но вы это знали, не так ли? Вы искали ссылку на официальную ссылку? –

ответ

0

Перечислитель является интегральным типом. Если вы не присвоите им значения, они начинаются с 0 и увеличиваются. Поэтому ваш ЬурейеЕ эквивалентно

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

Поэтому calloc установит value_set к нулю, который равен false.

Смежные вопросы