关于const的用法限制,可以用下面的一张表来表示
| const int *p | int cont *p | int *const p | |||
| 申明时是否需要初始化 | 否 | 否 | 是 | 否 | |
| 是否可以指向常变量 | 是 | 是 | 否 | 是 | |
| 是否可以指向变量 | 是 | 是 | 是 | ||
| 是否可以重新指向 | 是 | 是 | 否 | ||
| (*p)++ 是否可以进行 | 否 | 否 | 是 | ||
| 总结 | const修饰的是 *p,即p指向的单元的值,那个单元的值不能改变 | 它是否和const int *p等价? | const修饰的是p内存存放的内容,这个内容不能改变,因此说它不能重新指向别的地址 |
下面是测试代码支持