我有一个约有17个成员struct settings currentProfile
的C结构,并希望将所有成员初始化为零。 (我已经尝试使用uber-correct struct语法和typedef语法)
要将所有成员设置为零,我使用currentProfile = {0}
在这一行,编译器给出了错误Expected an expression
我是否正确初始化? 感谢
答案 0 :(得分:6)
您正在执行(无效)分配而不是初始化。
初始化结构对象,并将所有成员设置为0
:
struct settings currentProfile = {0};
在声明后将结构对象的所有成员设置为0
:
memset(¤tProfile, 0, sizeof currentProfile);
答案 1 :(得分:1)
memset(pointer_to_struct,0,size_of_struct);
#include <string.h>
struct settings currentProfile;
memset(¤tProfile, 0, sizeof(struct settings));