2012-12-15 53 views
0

所以我在嘗試創建指向結構體的指針時遇到了warning: return makes pointer from integer without a cast警告:return使用整型指針而不使用malloc sizeof struct中的變量C

結構:

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

代碼:

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

的結構在不同的.h文件中聲明,但我仔細檢查了那我把它。我有點在這一個丟失

+4

你編碼的函數的數據類型是什麼? – shf301

+2

^^我懷疑函數定義爲返回一個'Book_T *',並且你的代碼返回'1'(一個'int')。 –

+0

哦,是啊......它是一個空白*,這絕對是它,謝謝。嗯,這是我第一次使用pthreads,我想我可以只返回NULL,我不需要任何特殊的線程功能 –

回答

3

要回答我自己的問題,在shf301和布賴恩的幫助下,問題是實際的返回類型,而不是與malloc()有什麼關係。正確的代碼是這樣的:

if((book = malloc(sizeof(Book_T))) == NULL) return NULL; 
相關問題