开发者社区> 问答> 正文

C语言有指针字符串,为什么没有指针数字呢?

C语言有指针字符串,为什么没有指针数字呢?

展开
收起
游客4ztx2pti3xtdw 2022-03-29 21:02:15 490 0
1 条回答
写回答
取消 提交回答
  • ”string-literal" 不是指针,是拥有静态存储期的 char 数组类型左值表达式。该数组只能读不能写。由于历史遗留问题, C 的字符串字面量没有 const 限定,最好用 const char* 指针指向它。

    (另外字符串字面量在初始化字符数组时,实现上本身不必是独立的数组)

    能用它初始化或赋值指针是因为数组到指针隐式转换(数组类型表达式在多数情况下隐式转换成指向其首元素的指针类型表达式)。

    你要用“字面量”初始化 int* 指针也可以,只要用复合字面量(复合字面量是左值):

    int *p = &(int){ 123 };

    2022-03-29 21:03:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载