指向常量的指针、常指针、指向常量的常指针

指向常量的指针、常指针、指向常量的常指针

#include <iostream>
using namespace std;

int main() {

	// 指向常量的指针

	//const int num = 78;
	//const int* point = #
	//cout << *point << endl;
	//// 指向常量的指针 point 指向 num 的地址。
	//// * point 不能改变 但是 point 可以改变
	///*cout << ++(*point) << endl;*/

	int num = 78, num2 = 45;
	const int* point = #
	cout << num << "num地址:" << &num << endl;
	cout << *point << "point地址:" << point << endl;
	// 指向常量的指针 point 指向 num 的地址。
	// * point 不能改变 但是 point 可以改变
	/*cout << ++(*point) << endl;*/
	point = &num2;
	cout << num << "num地址:" << &num << endl;
	cout << *point << "point地址:" << point << endl;


	// 常指针 即 常量指针
	// 指针本身就是常量,编译器要求给他一个初始值
	int x = 5;
	int* const p = &x;

	int y = 119;
	// p 不能改变 但是 *p 可以改变
	//p = &y;
	cout << x << "x地址:" << &x << endl;
	cout << *p << "p地址:"<< p <<endl;
	*p = 8;
	cout << x << "x地址:" << &x << endl;
	cout << *p << "p地址:" << p << endl;




	//指向常量的常指针 
	// p1 不能改变 * p1 不能改变
	int x1 = 2;
	const int* const p1 = &x1;
	/*
	* 
	* 
	* 指向常量的指针
	* const int* point = #  //* point 不能改变 但是 point 可以改变
	* 常指针 即 常量指针       
	* int* const point = &x;    // point 不能改变 但是 *point 可以改变
	* 
	* //指向常量的常指针 
	const int* const point = &x1;
	分解一下:
	const (int* const point) = &x1;
	(int* const point)              //  point 不能改变 * point 可以改变
	const (int* const point)        //  point 不能改变 * point 不能改变


	*/

	return 0;
}

  

原文地址:https://www.cnblogs.com/Mengchangxin/p/15706471.html