上一篇下一篇栈和堆的区别单独说 指针常量和常量指针const 关键字修饰指针变量就可以得到指针常量和常量指针const与指针结合时位置决定含义。记住口诀const在*左边是指针常量内容不能改但指针可以改const在*右边是常量指针指针不能改但内容可以改*两边都有const内容和指针都不能改。声明含义能否修改指针能否修改指向的内容const int *p或int const *p指针常量指向常量的指针✔️ 可以p x;❌ 不可以*p 10;错误int *const p x;常量指针❌ 不可以✔️ 可以*p 10;const int *const p x;指向常量的常量指针❌ 不可以❌ 不可以应用示例constchar*strHello;// 推荐写法字符串字面量是只读的// str[0] h; // × 运行时可能崩溃写只读内存strWorld;// √ 指针可变charbuffer[10];char*constptrbuffer;// 指针固定指向 bufferptr[0]A;// √ 内容可变// ptr another_buffer; // × 指针不可变
单片机/C/C++八股:(二十)指针常量和常量指针
上一篇下一篇栈和堆的区别单独说 指针常量和常量指针const 关键字修饰指针变量就可以得到指针常量和常量指针const与指针结合时位置决定含义。记住口诀const在*左边是指针常量内容不能改但指针可以改const在*右边是常量指针指针不能改但内容可以改*两边都有const内容和指针都不能改。声明含义能否修改指针能否修改指向的内容const int *p或int const *p指针常量指向常量的指针✔️ 可以p x;❌ 不可以*p 10;错误int *const p x;常量指针❌ 不可以✔️ 可以*p 10;const int *const p x;指向常量的常量指针❌ 不可以❌ 不可以应用示例constchar*strHello;// 推荐写法字符串字面量是只读的// str[0] h; // × 运行时可能崩溃写只读内存strWorld;// √ 指针可变charbuffer[10];char*constptrbuffer;// 指针固定指向 bufferptr[0]A;// √ 内容可变// ptr another_buffer; // × 指针不可变