如果结构变量在c中的const enum中,如何给它赋值


#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;
}

像任何const对象一样,它只能在初始化式中设置。

data1 d = { .dd = aa };

data2data1不只是对象类型名intfloat相同。对于类型和结构成员使用相同的名字不是很好(发挥你的想象力,给它们起一些有意义的名字)。

设置值:

data1 data3 = {.dd = bb};

访问

printf("%d", data3.dd) ;

最新更新