我一直收到以下警告:从不兼容的指针类型初始化。 通过这一行
Season season1 = (Season *) malloc(sizeof(Season));
这是我在season.h
typedef struct season* Season;
答案 0 :(得分:2)
您将结果从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中(明智与否)。
另外,请仔细查看代码season
和Season
中过于相似的标识符。