这里简单总结一下C中指针常量和const指针的区别,包括如何声明和使用const指针和指针常量。有需要的朋友可以参考一下。
我们先来复习一下,什么是指针?什么是常数?指针是一个特殊的变量,里面存储的内容就是内存地址。常数是指存储的内容不能改变的量。理解了这两个概念之后,我们现在正式输入指针常量和const pointer。
1.指针常量与常量指针的概念
指针常量是指指针本身是常量,换句话说,指针中存储的内容(内存地址)是常量,不能改变。然而,对应于存储器地址的内容可以被指针改变。
Const指针是一个指向常数的指针,换句话说,指针指向一个常数,它所指向的内容不能被改变,它所指向的内容不能被指针修改。但是指针本身并不是一个常数,它自己的值可以改变,指向另一个常数。
2.指针常量与常量指针的声明
指针常量的声明:数据类型* const指针变量。
const指针的声明:数据类型const *指针变量或const数据类型*指针变量。
const指针常量的声明:数据类型const * const指针变量或const数据类型* const指针变量。
3.指针常量与常量指针的使用
3.1 指针常量的例子
/*指针常量的示例*/
int a,b;
int * const p;
p=a;//正确
p=b;//错误
* p=20//正确
指针常量必须用初始值声明。使用指针常量可以提高代码的可靠性和执行效率。
3.2 常量指针的例子
/*常量指针的例子*/
int a,b;
int const * p;
p=a;//正确
p=b;//正确
* p=20//错误
区分指针常量的一个窍门:const后的内容不能修改。例如指针常数int * const p=a;指示指针P的内容不可修改;Const指针int const * p=a;意味着指针p指向的内容不能修改。
至此,什么是指针常量和const指针,以及两者的区别,应该清楚明了了。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。