我有一个看起来像这样的链接列表
typedef struct list
{
int num;
int *ptr;
struct history * next;
}history;
我还有一个字符数组
char *args[MAX_LINE/2+1];
我想将链接列表中的指针*ptr
设置为数组args[]
这样做我做了history->ptr = args;
但是,当我编译时,我收到错误“警告:从不兼容的指针类型分配”
将指针指向数组的正确方法是什么?
答案 0 :(得分:3)
char *args[MAX_LINE/2+1];
在
时声明指向char
的指针数组
int *ptr;
是指向int
的指针。您可能需要将ptr
声明为:
char **ptr;
但请注意,在args
衰减为指针后,将无法再使用sizeof
来检索参数计数(其元素数)。