C语言指针修饰符const



概念


在我们了解了指针的基本概念之后,接下来我们来看一下指针和C中给我们提供的关键字中的类型修饰符它们之间的关系。指针就是存储地址的一种特殊变量。那这个变量跟我们的修饰符之间还有哪些更深层次的符号限制呐?我们在实际开发过程中,经常会运用修饰符,把指针的这种限制范围更明确的告诉给用户,通过不同修饰符告诉给用户指针的具体属性。


指针变量也是一个变量,它可以改变存储的地址,指向一个地方再指向另外一个地方;还可以改变指向地址的值;所以它可以有两个地方的改变。为了更好的去修饰一些特殊类型的指针,C提供给了我们三个关键字来修饰指针变量:



const关键字


Const我们知道他是只读性质的关键字,const修饰的变量就不能改变,成了常量。


1)const char *p;//这两种修饰方法是一样的,我们经常使用这种方法。都是修饰的char字符,它代表的是字符串的内容不可以更改。此时的指针依旧可以指向其它的内存,但是通过指针修改它指向的值就是不可以的了。


char const  *p;


2) char * const  p;//这两种修饰方法是一样的,我们经常使用这种方法。都是修饰的指针,它代表的是指针指向的地址不可以改变,而地址里面的内容是可以改变的。


char * p const;


 一般这种定义都是硬件资源的定义。比如显卡当中有一片缓存,显卡制造的厂家已经为我们焊好了缓存区域,我们如果需要操作这片缓存,我们需要找到缓存的地址,而这些地址是不可以改变的。这个固定地址就可以定义为不可改变地址的指针变量。


3) const char * const p; //指针的指向和指向的内容都不可以被改变。这个一般使用在Rom空间中。



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】       


logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

麦子大聚惠,豪华礼包你领了吗?

客服热线 400-862-8862

回到顶部