Const 使用方法總結

2021-05-07 23:19:10 字數 819 閱讀 8524

const 使用方法總結

const限定符的特點在於 強制最低訪問權原則。用這個原則正確的設計軟體可大大減少除錯時間和不良***,並且能夠使程式易於修改和除錯。

給函式傳遞的指標有如下四種情況:

指向非常量資料的非常量指標、指向非常量資料的常量指標、指向常量資料的非常量指標、指向常量資料的常量指標

1)如果傳遞給函式的值沒有(或不應該)在函式體中被修改,應該用const宣告該值以防止該值被意外的修改。

如列印乙個一維陣列,但並不希望在子程式中改變陣列的長度值,故可用const修飾該值。

2)指向非常量資料的非常量指標具有最高訪問許可權。這種情況允許指標復用來修改資料,並能夠通過修改指標使他能訪問其他資料項。

3)可以修改指向常量資料的非常量指標使他指向具有合適型別的任何資料項,但是他所指向的資料不能被修改。

例如:『

void printcharacters(const char * s)

這種指標可用來接受乙個陣列引數,然後讓函式在不修改資料的情況下處理陣列的每乙個單元。

用指向常量資料的指標傳遞諸如結構一樣的大型物件可獲得傳引用呼叫的效能和傳值呼叫的安全性。

如果記憶體是足夠的,而執行效率是所要關心的問題,那麼應該使用傳值呼叫傳遞資料,從而強制實現最低訪問權原則。要知道,某些系統並不很好的支援const,因此,傳值呼叫時保護資料免遭修改最好的辦法。

4)指向非常量資料的常量指標總是指向同一記憶體,其中的資料可以通過該指標修改。陣列名就是這種情況

疑問:傳值呼叫只能在呼叫函式中修改乙個值。要在呼叫函式中修改多個值必須使用傳引用呼叫???

摘自 c語言程式設計教程 c how to program

const使用方法

const 定義常變數,不能寫,只能讀。const修飾指標 const char src 不允許修改形參的值。const要點 1 限定寫許可權,將變數變為唯讀。2 資料型別對const來說是透明的 const int cb 10 int const cb 10 3 const用於封鎖直接修飾的內容,...

const的使用方法

const 定義乙個常量型別。例如 定義常量時,const和常量型別的位置可以調整,結果一樣。為常量賦值的時候必須在定義常量的同時進行。const主要運用在指標中,分別有三種情況 這兩種表示方法的意思是一樣的,都指允許修改指標p的位址但不可以解引用也就是,不可以通過指標p修改位址所指的變數。例如 可...

c 關鍵字const使用方法總結

const 大致意思是 我承諾不改變這個值 主要用於說明介面,這樣在把變數傳入函式時就不必擔心變數會在函式內被改變。編譯器負責確認並執行const的承諾。或者可以說在當前作用域內值不發生改變。const的語法雖然變化多端,但並不高深莫測,如果乙個被指物是常量,const可以寫在型別之前,也可以寫在型...