C语言中const如何使用
这篇文章给大家介绍C语言中const如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
const可以说一种常量的声明的关键字,如const int a=2;变量a就是一个常变量,a的值不能被改变,这个改变是一定意义上的不能改变.而是说值的改变不能直接通过a这个符号来改变.但事实上,a的值是可能改变的.如下例子:
#include<stdio.h> int main() { const int a=3; int *p=(int*)&a; *p=100; printf("%d",a); return 0; }
这样a的值就被改变了.
const也可以说一种只读的关键字,如
int integerArray[10]={0}; const int* pointer=integerArray;
这里pointer是指向一个常变量的指针变量.pointer指向可能改变,但它所指向的变量的值就不能直接通过pointer来改变.如:
*(p+1)=2;
这是不可以的.但如果有另外一个数组integerArray1,p=integerArray1是可以有.还有指向的变量不可改变,这种不可改变是一定意义的改变.如下例子:
#include<stdio.h> int main() { int array[10]={0}; const int *pointer=array; int *pointer1=(int*)pointer; pointer1[0]=1; printf("%d",array[0]); return 0; }
以上例子说明了,不能直接通过pointer改变array,但可能间接通过pointer来改变array;
现在说一说有const声明常指针,它的声明不像声明指向常量的指针形式.它的声明形式为:int* const pointer; .常指针在编程的过程中它的指向不能改变.因此,常指针在声明的时侯一定要给它赋初值.
否则,就不能直接给它赋值.但是,如果一定要给它赋上一定的值,是可以的.如下例子:
#include<stdio.h> int main() { int a=2; int* const p; int **p1=(int**)&p; *p1=&a; printf("%d",*p); return 0; }
经过上面的介绍,相信大家对指向常量的常指针的声明也不难写出吧.它的声明形式:cont int* const p;它就不用作过多的介绍了,指向常量的常指针就是指向常量的指针与常指针的复合了.
关于C语言中const如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341