警告:return使用C中的malloc sizeof结构从整数中生成指针而不使用强制转换

时间:2012-12-15 06:00:47

标签: c pointers struct malloc

所以我在尝试创建指向结构的指针时得到warning: return makes pointer from integer without a cast

STRUCT:

typedef struct _book_
{
    char *title;
    char *cat;
    double price;
}Book_T;

代码:

Book_T *book;
...
if((book = malloc(sizeof(Book_T))) == NULL) return 1;

结构是在一个不同的.h文件中声明的,但我仔细检查了我是否包含它。我有点迷失在这一个

1 个答案:

答案 0 :(得分:3)

在shf301和Brian的帮助下回答我自己的问题,问题是实际的返回类型,而不是与malloc()有关。正确的代码如下:

if((book = malloc(sizeof(Book_T))) == NULL) return NULL;