C++学习笔记系列2-37——指针常识

指针和常量

指向常量的指针

定义:这种指针可以改变指向,但不能改变地址中存储的值,所以跟之前学过的常量类似,因此叫做"指向常量的指针"。

声明方式:

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,则不会报错

// 上面这个操作就是在改变地址中的值,这是不行的。

}