单片机/C/C++八股:(二十)指针常量和常量指针

上一篇 下一篇
栈和堆的区别?

单独说 指针常量和常量指针

const 关键字修饰指针变量,就可以得到指针常量和常量指针

const 与指针结合时,位置决定含义。记住口诀:

  • const* 左边是指针常量,内容不能改,但指针可以改;
  • const* 右边是常量指针,指针不能改,但内容可以改;
  • * 两边都有 const,内容和指针都不能改。
声明 含义 能否修改指针? 能否修改指向的内容?
const int *pint const *p 指针常量(指向常量的指针) ✔️ 可以(p = &x; ❌ 不可以(*p = 10; 错误)
int *const p = &x; 常量指针 ❌ 不可以 ✔️ 可以(*p = 10;
const int *const p = &x; 指向常量的常量指针 ❌ 不可以 ❌ 不可以

应用示例:

c 复制代码
const char *str = "Hello";     // 推荐写法:字符串字面量是只读的
// str[0] = 'h';               // × 运行时可能崩溃(写只读内存)
str = "World";                 // √ 指针可变

char buffer[10];
char *const ptr = buffer;      // 指针固定指向 buffer
ptr[0] = 'A';                  // √ 内容可变
// ptr = another_buffer;       // × 指针不可变

相关推荐
无限的鲜花7 小时前
反射(原创推荐)
java·开发语言
yongche_shi8 小时前
ragas官方文档中文版(五十)
开发语言·python·ai·ragas·如何评估和改进 rag 应用
一路向北he8 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
QiLinkOS8 小时前
第三视觉理解徐玉生与他的商业活动(30)
大数据·c++·人工智能·算法·开源协议
mit6.8248 小时前
阅读的核心,是再读
c++
AI行业学习9 小时前
Notepad++ 官方下载 + 完整安装 + 全套优化配置(2026最新)
开发语言·人工智能·python·前端框架·html·notepad++
大圣编程10 小时前
Python中continue语句的用法是什么?
开发语言·前端·python
upgrador10 小时前
基础知识:C++ STL构造函数的左闭右开惯例及其实现原理
开发语言·c++
灯厂码农11 小时前
C语言动态内存分配完全指南(malloc、calloc、realloc、free)
java·c语言·算法
yoothey11 小时前
报废审批流规则引擎设计——责任链模式完整实现
linux·开发语言·bash