gpt4 book ai didi

c - 接近初始化结构警告

转载 作者:行者123 更新时间:2023-12-04 11:05:02 25 4
gpt4 key购买 nike

我真的很困惑为什么会出现这个错误。我的代码编译得很好,但我更希望有 0 个警告。在搜索了一下 stackoverflow 之后,没有人拥有与我使用的相同的结构类型。下面是我的代码片段(这些都是虚构的名字)

如果有帮助,我的 MAXCONTACTS 设置为 5

struct Contact conNum[MAXCONTACTS] =  { { {"Rick", { '\0' }, "Grimes" },
{11, "Trailer Park", 0, "A7A 2J2", "King City" },
{"4161112222", "4162223333", "4163334444" } },
{
{"Maggie", "R.", "Greene" },
{55, "Hightop House", 0, "A9A 3K3", "Bolton" },
{"9051112222", "9052223333", "9053334444" } },
{
{"Morgan", "A.", "Jones" },
{77, "Cottage Lane", 0, "C7C 9Q9", "Peterborough"},
{"7051112222", "7052223333", "7053334444" } },
{
{"Sasha", {'\0'}, "Williams" },
{55, "Hightop House", 0, "A9A 3K3", "Bolton"},
{"9052223333", "9052223333", "9054445555" } },
};

编辑:这是我的结构声明

// Structure type Name declaration
struct Name {
char firstName[31];
char middleInitial[7];
char lastName[36];
};


struct Address {
int streetNumber;
int apartmentNumber;
char street[41];
char postalCode[8];
char city[41];
};



struct Numbers {
char cell[11];
char home[11];
char business[11];
};


struct Contact {

struct Name name;
struct Address address;
struct ``Numbers numbers;

};

最佳答案

您的 struct Address 包含两个 int 字段,后跟两个 char 数组:

struct Address {
int streetNumber;
int apartmentNumber;
char street[41];
char postalCode[8];
char city[41];
};

但你不按顺序初始化它们:

{11, "Trailer Park", 0, "A7A 2J2", "King City" },

除非您使用命名初始值设定项,否则必须按顺序指定字段。先写门牌号,然后是公寓号,然后街道:

{11, 0, "Trailer Park", "A7A 2J2", "King City" },

对其他三个做同样的事情。

关于c - 接近初始化结构警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53582241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com