const基本用法

2021-08-18 09:46:04 字數 1429 閱讀 9398

const定義常變數後,該變數沒有寫許可權,只有讀許可權

①const用於定義常變數時,要進行初始化

例如:const int a=10; //合法

而const int a;  //非法

②資料型別對於const而言是透明的

例如:const int a=10;   

等價於 int const a=10;

const int

*p1=&a;

等價於int const*p1

=&a;   

但不等價於

int *

const  p1=&a;

③const用於封鎖直接修飾的內容,該內容變為唯讀,該變數不能作為左值(左值:放在賦值號『=』的左邊,使用變數的寫許可權)

例如:1)const int a=10;//const封鎖a

a=100; //a作為左值,使用a的寫許可權,非法

int b=a; //使用a的讀許可權,合法

2)const int*p1=&a; //const修飾*p1,將p1作為左值合法,將*p1作為左值非法

例:p1=&b; //使用p1做左值,合法

*p1=200;//使用*p1做左值,非法

3)int * constp2=&a; //const修飾p2,將p2作為左值非法,將*p2作為左值合法

例:p2=&b;//使用p2做左值,非法

*p2=100;//使用*p2做左值,合法

4)const int * const p3=&a;//const分別修飾*p3,p3,將*p3,p2作為左值都非法

例:p3=&b;//使用p3做左值,非法

*p3=100;//使用*p3做左值,非法

④許可權只能同等傳遞或者縮小傳遞

練習:

int a = 10;                  

int b = 20;

const int ca = 10;

const int cb = 20;

int *p = &a; //ok

p = &ca; //error

const int *cp1 = &a; //ok

cp1 = &b; //ok

cp1 = &ca; //ok

const int *cp2 = &ca;//ok

int *const cp3 = &a; //ok

int *const cp4 = &ca;//error

const int *const cp5 = &a;//ok

const int *const cp6 = &ca;//ok

const的基本用法

我們經常在程式語言中見到或使用到const,大家都知道const是定義常變數的意思,但是它是如何進行定義的,又有哪些使用規則呢。下面我和大家一起來了解了解。在了解const之前,我們先來了解一下左值這個東西,左值 就是放在賦值符號左邊的值,它為具有寫許可權,就是說我們可以通過賦值符號來改變它的值。1...

const的基本用法

const的基本用法 flyfish 2009 2 19 1常量const在編譯器中遇到的問題 下面的這個 在預設設定的dev c 5中編譯通過只是出現警告,沒有錯誤產生 include int main 不允許更改常量指標,p只能指向n,p的指向是不允許更改的 3 作為函式引數傳遞 僅當函式不改變...

3 const 基本用法

includeusing namespace std brief main return 1 常量指標 表示這個指標是乙個指向常量的指標 變數 指標指向的物件是常量,那麼這個物件不能被更改。const int c m 或者 int const c m 2 指標常量 指標變數不可以修改,但是它指向的記...