您好,登錄后才能下訂單哦!
這篇“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。