当我尝试运行以下代码时,我收到此警告:
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;
}
如何消除此警告?谢谢。
编辑:Jonathan Leffler 通过执行 namesList[0] = *name1;
最佳答案
这是因为当你这样做时:
char *name1="Nelson Mandela";
就好像你这样做了:
char * = const char *; // it's not the same type
我建议执行以下初始化操作:
char *name1= malloc(sizeof(char) * 255);
strcpy(name1, "Nelson Mandela");
也许namelist
也应该在其中?
char ** namelist;
关于C - 不兼容的指针到整数转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46290487/