这篇“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关键字怎么用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。