C++ int const * p和int * const p区别,const int *p呢

参考链接:点击打开链接   点击打开链接

首先int const*p=const int *p;都表示*p的值不能改变,而p(即地址)是可以改变的;

而int *const p表示 p(地址)是常量,不可改变,但是*p的值可以改变

常量指针是指向常量的指针,指针指向的内存地址的内容是不可修改的。

指针常量是指针的常量,它是不可改变地址的指针,但可以对它所指向的内容进行修改。

示例代码如下:

#include<iostream>
using namespace std;

int main(){
	
	//常量指针
	int a = 80;
	int const *p = &a;//常量指针 
	cout<<*p<<endl;
	
	//*p = 70;//错误,常量指针,指针指向的变量的值不可通过该指针修改
	int b = 70;
	p = &b; 
	cout<<*p<<endl<<endl;
	
	
	//指针常量
	int c = 60;
	int * const p1 = &c;//针针常量 
	cout<<*p1<<endl;
	
	*p1 = 50;
	//int d = 40;
	//p1 = &d;//定义一个指针指向一个常量,不能通过指针来修改这个指针指向的值。
	
	cout<<*p1<<endl;
	
	return 0;
} 



猜你喜欢

转载自blog.csdn.net/qq_29762941/article/details/80918669
今日推荐