想开发游戏的Wang 2022-02-28 21:38 采纳率: 90%
浏览 16
已结题

为什么字符串指针不能通过"*"来获取字符串的内容,而其他类型指针却必须如此才能获得字符串内容?


    const char* p = "阿斯蒂芬";
    cout<<p<<endl;//可以直接得出”阿斯蒂芬“的内容
    const int* a = (int*)10;
    cout << a << endl;//这里的出来的却是“10”的存储地址
    cout <<*a<< endl;//如此才得出“10”的内容

为什么字符串指针不需要通过*来获得指针指向的内容呢?

  • 写回答

2条回答 默认 最新

  • yun6853992 2022-02-28 21:52
    关注

    你要理解指针*的概念,以及字符串的概念
    定义成指针*实际是指向一块地址,而取这块地址中对应的值可以在前面加个*的方式.
    而字符串的概念,定义一个字符串,指向的是字符串首地址,直到识别到字符串的终结符(‘\0’),也就是说字符串是通过地址取实际数据的。

    所以,int *和char *(表示字符串时),有一点差异,除此之外,如果char *不表示字符串,单纯的表示一个char类型的指针,也可以用* 来取对应的值。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月28日
  • 创建了问题 2月28日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表