C++学习--const修饰指针
Posted 殇堼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习--const修饰指针相关的知识,希望对你有一定的参考价值。
const修饰指针有三种情况:
1.const修饰指针-----常量指针
const int *p =&a;
特点:指针的指向可以改,但是指针指向的值不可以修改
例如:
int a=10;
int b=10;
int *p=&a;//指针p指向a,也就是10
修改:
*p=11;//将指针p转向指向11,会报错,原因是更改了指针指向的值
p=&b;//指针的指向可以改。由a转向b。
2.const修饰 常量------指针常量
int *const p =&a;
特点:指针的指向不可以修改,指针指向的值可以修改
3.const即修饰指针又修饰常量
const int * const p =&a;
特点:指针的指向和指针指向的值都不可以改
记忆方法:通过指针和常量的位置记忆;常量const修饰的才可以修改。
#include <iostream>
using namespace std;
int main() {
//1.const修饰指针 常量指针
//指针的指向可以修改,值不可以改
int a = 1;
int b = 2;
const int *p = &a;//指针指向的内存地址,因此需要在变量前加上&
//*p = 2;//错误
p = &b;//指针指向可以改为b
//2.const修饰常量 指针常量。指针的指向不可以修改,值可以改。
int * const p2 = &a;
*p2 = 2;
//p2 = &b;//错误,指针指向不可以改为b
system("pause");
}
以上是关于C++学习--const修饰指针的主要内容,如果未能解决你的问题,请参考以下文章