C/C++教程

C++中指针常量和常量指针的区别(清晰明了)

本文主要是介绍C++中指针常量和常量指针的区别(清晰明了),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
 在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,但是对这两个的概念还是很容易搞糊涂的。本文即是简单描述指针常量和常量指针的区别。

常量指针

定义:

      又叫常指针,可以理解为常量的指针,也即这个是指针,但指向的是个常量,这个常量是指针的值(地址),而不是地址指向的值。

关键点:
1.常量指针指向的对象不能通过这个指针来修改,可是仍然可以通过原来的声明修改;
2.常量指针可以被赋值为变量的地址,之所以叫常量指针,是限制了通过这个指针修改变量的值;
3.指针还可以指向别处,因为指针本身只是个变量,可以指向任意地址;

代码形式:

      int const* p;  const int* p;

指针常量

定义:

     本质是一个常量,而用指针修饰它。指针常量的值是指针,这个值因为是常量,所以不能被赋值。 

关键点:
1.它是个常量!
2.指针所保存的地址可以改变,然而指针所指向的值却不可以改变;
3.指针本身是常量,指向的地址不可以变化,但是指向的地址所对应的内容可以变化;

代码形式:
int* const p;

指向常量的常指针

这篇关于C++中指针常量和常量指针的区别(清晰明了)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!