常量指针与指针常量

Posted 牠说,要陪你走过春夏秋冬;牠必不食言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常量指针与指针常量相关的知识,希望对你有一定的参考价值。

/*
 Module:		常量指针与指针常量.cpp
 Notices:		Copyright (c) 2017/5/11 Landy
*/


#include <iostream>
using namespace std;


int main()
{
	int a = 100, b = 200;
	// 常量指针
	const int *pConstPointer;
	pConstPointer = &a;
	cout << *pConstPointer << endl;				// 读权限
	// (*pConstPointer)++;						// 写权限 错误:不能给常量赋值
	pConstPointer = &b;							// 修改指针指向的对象
	/*总结:常量指针可以修改指向的对象,但只有读权限,而没有写权限*/


	// 指针常量
	int * const pPointerConst = &a;				// 指针常量必须定义时初始化
	cout << *pPointerConst << endl;				// 读权限
	(*pPointerConst)++;							// 写权限
	// pPointerConst = &b;						// 指针常量不能修改指向的对象
	/*总结:指针常量拥有读、写权限,但不可以修改指针指向的对象*/


	// 指向常量的指针常量
	const int * const pConstPointerConst = &a;	// 定义指向常量的指针常量时必须初始化
	cout << *pConstPointerConst << endl;		// 读权限
	// (*pConstPointerConst)--;					// 写权限
	// pConstPointerConst = &b;					// 不能修改指向的对象
	/*总结:指向常量的指针常量既不可以修改指向的对象,也没有对对象的写权限,只有读权限*/
	getchar();
	return 0;
}

/*
	结论:
		1、常量指针可以修改指向的对象,但对对象只有读权限,而没有写权限
		2、指针常量拥有对对象的读、写权限,但不可以修改指针指向的对象
		3、指向常量的指针常量既不可以修改指向的对象,也没有对对象的写权限,只有读权限
*/

  

以上是关于常量指针与指针常量的主要内容,如果未能解决你的问题,请参考以下文章

指针和引用指针常量与常量指针

常量指针与指针常量

指针常量与常量指针

指针常量与常量指针

常量指针与指针常量

指针常量与常量指针