快速分清:常量指针、指针常量、常指针常量

用const修饰指针

记忆秘诀:*表示指针,指针在前先读指针;指针在前指针就不允许改变。

1)常量指针

语法:const 数据类型 *变量名;

不能通过解引用的方法修改内存地址中的值(用原始的变量名是可以修改的)。

注意:

  1. 指向的变量(对象)可以改变(之前是指向变量a的,后来可以改为指向变量b)。
  2. 一般用于修饰函数的形参,表示不希望在函数里修改内存地址中的值。
  3. 如果用于形参,虽然指向的对象可以改变,但这么做没有任何意义。
  4. 如果形参的值不需要改变,建议加上const修饰,程序可读性更好。

2)指针常量

语法:数据类型 * const 变量名;

指向的变量(对象)不可改变。

注意:

  1. 在定义的同时必须初始化,否则没有意义。
  2. 可以通过解引用的方法修改内存地址中的值。
  3. C++编译器把指针常量做了一些特别的处理,改头换面之后,有一个新的名字,叫引用。

3)常指针常量

语法:const 数据类型 * const 变量名;

指向的变量(对象)不可改变,不能通过解引用的方法修改内存地址中的值。

常引用。

常量指针:指针指向可以改,指针指向的值不可以更改。

指针常量:指针指向不可以改,指针指向的值可以更改。

常指针常量:指针指向不可以改,指针指向的值不可以更改。

记忆秘诀:*表示指针,指针在前先读指针;指针在前指针就不允许改变。

常量指针:const 数据类型 *变量名

指针常量:数据类型 * const 变量名

猜你喜欢

转载自blog.csdn.net/qq_23172985/article/details/129497855