【发布时间】:2012-11-22 21:44:24
【问题描述】:
是否可以为某些结构成员设置默认值? 我尝试了以下方法,但会导致语法错误:
typedef struct
{
int flag = 3;
} MyStruct;
错误:
$ gcc -o testIt test.c
test.c:7: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
test.c: In function ‘main’:
test.c:17: error: ‘struct <anonymous>’ has no member named ‘flag’
【问题讨论】:
-
你可以为结构创建一个初始化函数。
-
不在 C 语言中。您可以创建一个函数,该函数返回具有您想要的值的结构。
-
当你创建它时,你可以像这样初始化值:stackoverflow.com/questions/749180/default-values-in-a-c-struct
-
对于C++ struct,可以在构造函数中初始化默认数据