指针和常量
指向常量的指针
定义:这种指针可以改变指向,但不能改变地址中存储的值,所以跟之前学过的常量类似,因此叫做"指向常量的指针"。
声明方式:
int const * p
const int * p
以上两种方式都可以,只要 const 在 * 前方即可。通过代码演示一下:
#include <iostream>
using namespace std;
int main()
{
int i = 10 ;
int j = 20 ;
int const * p =&i ;
cout << *p <<endl; // 输出 10
p = &j ;
cout << *p <<endl; // 改变指向,输出 20
// 如果我们按以下方式赋值,则编译器会报错
*p = 30 ; // 对于指向常量的指针这样操作是不允许的,如果去掉const,则不会报错
// 上面这个操作就是在改变地址中的值,这是不行的。
}