小源仔
2020-03-29 16:15
采纳率: 100%
浏览 112

关于C++指针的一点小疑问

char * p="abc";
上面的语句在C++中会报WARNING
int * p=123;
上面的语句在C++中会报ERROR
这是为什么呢??

  • 点赞
  • 收藏

2条回答 默认 最新

  • BugM 2020-03-29 17:35
    已采纳

    c/c++中"aaa"属于子符串常量,其地址类型为const char* , 而你将他赋给char* ,因此汇报将const char* 转换为char*的warning
    而123是整型,整型不能转换为指针

    点赞 评论
  • 计算机菩萨 2020-03-29 16:49

    char类型指针可以理解为字符数组,因此使用前规范的做法是定义好储存空间,就像声明数组要定义大小;
    int指针是表示一个变量所在的地址,所以必须用事先声明的变量赋值。

    点赞 评论

相关推荐 更多相似问题