gpt4 book ai didi

c - 从不兼容的指针类型初始化 - C 结构

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:02 24 4
gpt4 key购买 nike

我不断收到以下警告:从不兼容的指针类型进行初始化。通过这条线

Season season1 = (Season *) malloc(sizeof(Season));

这是我在season.h中定义的结构体

typedef struct season* Season;

最佳答案

您将 malloc 的结果转换为“指向 A 的指针”并将其分配给“A”类型的变量。 “A”代表“季节”。
使用此版本的代码可能会变得更加清晰,
为更多说话的标识符进行编辑,并通过在 sizeof() 中使用正确的东西而不是转换 malloc() 的结果来修复。

typedef struct season* PointerToseason; // if you insist on hiding it inside a typedef

PointerToseason season1 = malloc(sizeof(struct season));

一个广受欢迎的版本是

PointerToseason season1 = malloc(sizeof(*season1));

它需要更少的关于隐藏在 typedef 中的东西的知识(明智与否)。

此外,请仔细查看代码 seasonSeason 中过于相似的标识符。

关于c - 从不兼容的指针类型初始化 - C 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076899/

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