指针的const限定
指针的const限定
1.指向const对象的指针
1 | const int *p;//或int const *p; |
- 非
const对象指针的地址可以赋给const对象的指针,const对象指针的地址不能赋给非const对象的指针。 - 不能使用指向
const对象的指针修改指向对象。 - 不能保证指向
const的指针所指对象的值一定不被其他方式该改变(如果指向对象是一个普通变量就可以直接修改)。
2.const指针
1 | int *const ptr; |
- 这表示
ptr是一个常量指针,指针本身的地址不能修改,但可以通过指针修改它所指向的对象的值。1
2
3ptr = &b;
ptr = pc;
ptr++;//均错误,ptr是只读的 - 与任何
const量一样,const指针必须在定义时初始化。
3.指向const对象的const指针
1 | const double const* pi = 3; |
- 这表示
pi是一个常量指针,指向的对象是常量。不能通过pi修改所指向对象的值,并且指针本身的地址也不能修改。
指针的const限定
http://example.com/2025/01/07/c review/