У меня есть структура ac в заголовочном файле: -
typedef struct sample
{
char *member1;
char **member2;
long *member3;
unsigned int member4;
} example;
Я объявил переменную typedef по умолчанию в том же заголовочном файле: -
const example defaultValue;
Определение defaultValue дано в cfile: -
const example defaultValue =
{
NULL,
NULL,
NULL,
99
};
Теперь в другом файле c, если я это сделаю,
example example1 = defaultValue;
всем членам присваивается значение NULL, как и ожидалось - но "unsigned int member4" присваивается значение 0вместо 99. Это очень странно, потому что defaultValue.member4 равно 99. Может кто-нибудь объяснить, пожалуйста, это необычное поведение?Есть ли лучший способ инициализации структуры по умолчанию?