Выборочная инициализация структуры - C (СИ)
Формулировка задачи:
Здравствуйте!
компилятор:
Подскажите, как правильно. Уже кучу вариантов перебрал
sMyType sMy[1][MAX] = {.adr = 1};"test.c"(1,34) Illegal expression. "test.c"(1,35) syntax error; found 'identifier' expecting '}'.
Решение задачи: «Выборочная инициализация структуры»
textual
Листинг программы
typedef struct my_t
{
int ggg;
int adr;
int ddd;
} my;
int main(void)
{
my m[1][10] = {{{.adr=4}}};
return 0;
}
Объяснение кода листинга программы
- В этом коде определен тип структуры
my_t, которая содержит три поля:ggg,adrиddd. - Затем определена переменная
mтипаmy_tразмером 1x10. - В строке инициализации этой структуры с помощью фигурных скобок
.adr=4инициализируется только полеadrпервого элемента массиваm. - Возвращается 0, что означает успешный конец работы программы.