Поблема с инициализацией структуры в Си (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено jhoo 09 сентября 2004 г. 16:01

Вот упрощенный код:


typedef struct tagMY_STRUCT_1
{
int i1;
int i2;
char c;
} MY_STRUCT_1;

typedef union tagMY_UNION
{
int i;
MY_STRUCT_1 ms;
long l;
} MY_UNION;

typedef struct tagMY_STRUCT_2
{
int w;
char c;
MY_UNION mu;
} MY_STRUCT_2;

MY_STRUCT_2 A = { 0x1234, 55, (10,20,30) };
MY_STRUCT_2 B,C;

void main(void)
{
B = A;
C = B;
}

Проблема в том, что неправильно инициализируются элементы структуры MY_STRUCT_1. Фактически всегда получаются значения (30,0,0) вместо положенных (10,20,30).
Пробовал делать и в кейле, и в билдере - результат одинаковый. Кто виноват, что делать?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru