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

标签 c integer character warnings

当我尝试运行以下代码时,我收到此警告:

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/

相关文章:

c - Windows 命令屏幕

c++ - 整数年;即将出现 -2 但我还没有给它赋值

c++ - 正确打印字符数组地址的方法

c - 低级图形界面是如何编程的?

c - 在 C 中使用 free 释放非字符指针

c - scanf() 不读取数字 0 或读取错误

java - 将字符(数字)转换为整数的 "java"方式是什么

java - 我如何在 Java 或 C++ 中表示 128 位整数?

linux - 文本文件包含奇怪的字符行 - 想要修复

c - 如何在C中将字符大小修改为2个字节?