指向字符数组的指针

时间:2013-10-08 22:30:51

标签: c pointers struct initialization compiler-warnings

我有一个看起来像这样的链接列表

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

我还有一个字符数组

char *args[MAX_LINE/2+1];

我想将链接列表中的指针*ptr设置为数组args[] 这样做我做了history->ptr = args; 但是,当我编译时,我收到错误“警告:从不兼容的指针类型分配”

将指针指向数组的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

char *args[MAX_LINE/2+1];

时声明指向char的指针数组
int *ptr;

是指向int的指针。您可能需要将ptr声明为:

char **ptr;

但请注意,在args衰减为指针后,将无法再使用sizeof来检索参数计数(其元素数)。