0

我有一个包含大约 17 个成员的 C 结构,struct settings currentProfile并希望将其所有成员初始化为零。(我已经尝试过使用超级正确的结构语法和 typedef 语法)

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

在这一行,编译器给出了错误Expected an expression

我是否正确初始化?谢谢

4

2 回答 2

6

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

要初始化您的结构对象,并将所有成员设置为0

struct settings currentProfile = {0}; 

在声明之后将结构对象的所有成员设置为0

memset(&currentProfile, 0, sizeof currentProfile);
于 2012-04-04T10:03:04.313 回答
1

memset(pointer_to_struct, 0, size_of_struct);

#include <string.h>

struct settings currentProfile;
memset(&currentProfile, 0, sizeof(struct settings));
于 2012-04-04T10:01:06.277 回答