#include <stdio.h>
typedef enum
{
aa = 11,
bb = 13
}
data2;
typedef struct
{
int cc;
const data2 dd;
}
data1;
int main()
{
// HOW TO GIVE VALUES TO data2.dd??
printf("%d", data2.dd) ;
return 0;
}
CodePudding user response:
Like any const object it can be set only the initializer.
data1 d = { .dd = aa };
CodePudding user response:
data2 and data1 are not objects only type names same as int or float. It is not very good to use the same names for types and struct members (use your imagination and give them some meaningful names).
To set the value:
data1 data3 = {.dd = bb}};
to access
printf("%d", data3.data2.dd) ;
