C - 不兼容的整数转换指针?

问题描述:

当我试图运行下面的代码我得到这样的警告:C - 不兼容的整数转换指针?

warning: incompatible pointer to integer conversion assigning to 
    'char' from 'char *'; dereference with * [-Wint-conversion] 
    namesList[0]=name1; 

这里是我的代码:

int main(){ 
    char namesList[20]; 
    char *name1="Nelson Mandela"; 
    namesList[0]=name1; 
    return 0; 
} 

如何摆脱这个警告?谢谢。
编辑:乔纳森·莱弗勒帮我做namesList[0] = *name1;

+2

指定一个字符而不是一个字符指针。例如,'namesList [0] = * names1;'。或者改变一个变量定义。这取决于你想要做什么 –

+1

你想分配一个字符还是整个字符串?查看后面的'strcpy'。 –

+0

@JonathanLeffler谢谢你的工作:) – fredjohnson

看你怎么写你的代码修复它,它似乎想要namesList是一个字符串数组,所以要解决它,你应该更改您的代码:

int main(){ 
    char *namesList[20]; 
    char *name1="Nelson Mandela"; 
    namesList[0]=name1; 
    return 0; 
}