const指针与const常量的区别

1. 对变量声明的重新认识

类型 【指针标示】 变量名 赋值符 【值 or 对象】
type * var = 0 or null

当在C或者C++一系语言中,当类型后有的时候表明声明指针,*var即为指针名 或称为指针

1
2
3
4
5
6
7
String * const amount = "test";

String const * amount = "test";

const String * amount = "test";

const String * const amount = "test";

以上表达式的区别:

  1. 只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能修改该数据;指针本身是变量,可以指向其他的内存单元。

  2. 只有一个const,如果const位于*右侧,表示指针本身是常量,不能指向其他内存地址;指针所指的数据可以修改。

  3. 两个const,*左右各一个,表示指针和指针所指数据都不能修改。