初始化C struct期望一个表达式

Tob*_*oby 0 c struct initialization

我有一个约有17个成员的C结构,struct settings currentProfile并希望将所有成员初始化为零.(我已经尝试使用uber-correct struct语法和typedef语法)

要将所有成员设置为零,我使用 currentProfile = {0}

在这一行,编译器提供了错误 Expected an expression

我正确地初始化了吗?谢谢

oua*_*uah 6

您正在执行(无效)分配而不是初始化.

要初始化struct对象,并将所有成员设置为0:

struct settings currentProfile = {0}; 
Run Code Online (Sandbox Code Playgroud)

要在结构对象0声明后将其设置为所有成员:

memset(&currentProfile, 0, sizeof currentProfile);
Run Code Online (Sandbox Code Playgroud)