Как получить доступ к элементам структуры - PullRequest
0 голосов
/ 19 марта 2020

В следующем коде как получить доступ к элементам структур details_1 и details_2?

typedef struct{
    unsigned char student;
    unsigned int roll_no;
}details_1;

typedef struct{
    unsigned long pin_code;
    unsigned char birthdate;
}details_2;

typedef union{
    details_1  COUNT8;
    details_2  COUNT16;
}details_union;

Пожалуйста, помогите мне. Заранее спасибо.

1 Ответ

0 голосов
/ 19 марта 2020

Доступ к элементам структуры осуществляется с помощью оператора точки. Для переменных-указателей используйте оператор ->.

details_1 d1 = {'c', 1};
details_2 d2 = {999999,'b'};
details_union du = {d1};
printf ("Access student directly: %c\n",d1.student);
printf ("Access student through union: %c\n",du.COUNT8.student);
printf ("Access pin_code through union: %lu\n\n",du.COUNT16.pin_code);  // not this value

du.COUNT16=d2;
printf ("Access pin_code directly: %lu\n",d2.pin_code);
printf ("Access pin_code through union: %lu\n",du.COUNT16.pin_code);
printf ("Access student through union: %c\n",du.COUNT8.student); // not this value
...