2013-10-08 50 views
1

我有一個鏈表,看起來像這樣指向字符數組

typedef struct list 
{ 
    int num; 
    int *ptr; 
    struct history * next; 
}history; 

我也有一個字符數組

char *args[MAX_LINE/2+1]; 

我想在我的鏈接列表設置指針*ptr到數組args[] 這樣做我做了這個history->ptr = args; 但是,當我編譯我得到錯誤「警告:從不兼容的指針類型分配」

將指針指向數組的正確方法是什麼?

+1

'ptr'是一個'int *'但你想給它分配一個'char **'? – 2013-10-08 22:32:53

回答

3
char *args[MAX_LINE/2+1]; 

聲明指針數組以char

int *ptr; 

是指向int。你可能需要聲明ptr爲:

char **ptr; 

還要注意的是,args被衰減到指針之後,將無法取回的參數使用sizeof了計數(它的元素的數量)。