《C 大學教程》8 5 使用const修飾指標

2021-10-05 10:47:37 字數 754 閱讀 3963

這是牛客網的一道練習題,我拿來做個例子。

//解釋內容來自《c++大學教程》deitel 第七版 張引譯 8.5節使用const修飾指標 (p276)

指向非常量資料的常量指標始終指向通過乙個記憶體位置,通過該指標可以修改這個位置上的資料,這就是陣列名的預設情況,陣列名是指標常量(陣列名不可改變,陣列元素可以改變)。即,常量指標不可變,非常量資料可以通過指標改變

char

*const p;

//指向非常量字元的常量指標

//指標常量(指標是乙個常量)

指向常量資料的非常量指標可以被修改以指向任何適當型別的其他資料項,但是不能通過該指標來修改它所指向的資料。即,指標可變,常量資料不可變

char

const

*p;//指向常量資料的非常量指標;

const

char

*p;//指向常量資料的非常量指標;

//常量指標(資料是乙個常量)

所以這道題的c,p是乙個指向常量的指標,是常量指標,指標可以改變,指標指向的值不可以修改。

但是,當指標是常量指標時,必須要對其初始化。所以,這道題的a選項,在編譯器中編譯時,會報錯。

c 回憶1 《C 大學教程》

1 儲存類 4個儲存類說明符 auto register extern static。識別符號的儲存類說明符可以確定其儲存類 範圍和連線。分兩類 自動儲存類 auto和register。只有變數能作為自動儲存類,函式的區域性變數和引數通常都是自動儲存類。區域性變數預設為自動儲存類。靜態儲存類 ext...

C 大學基礎教程 11 10

ifndef string h define string h include using namespace std class string bool operator bool operator const string right const 寫內聯函式的時候忘記寫引數,bool opera...

C 大學基礎教程 7 4使用陣列的範例

7 4 main 1.cpp include include using namespace std int main for int j 0 j 10 j cout b j setw 9 b j endl cout endl 用常量變數指定乙個陣列大小,用計算結果設定陣列元素 const int ...