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