C 中const和指標 的組合問題

2021-07-10 04:39:34 字數 663 閱讀 4246

今天在複習<> 章節7.3的時候想到以前做的乙個題,const和指標運算子*的若干種組合的合法性和意義問題,有點混淆,所以寫了乙個測試**來驗證一下,簡單明瞭,一目了然。如果有什麼遺漏的話歡迎指出。

首先是在ubuntu14.04.1下用gcc 4.8.4編譯執行的結果,編譯器報錯資訊都附加在對應語句後面的注釋裡

/*

* note : test for the combinations of const and *

* last edit : 2016-2-27

*/#include int main()

下面是visual studio 2013下用vs自帶的編譯器編譯執行的結果

/*

* note : test for the combinations of const and *

* last edit : 2016-2-27

*/#include "stdafx.h"

#include int main()

上面兩個環境下錯誤的原因基本一樣,總結如下

宣告原則:

const物件的理解:

const修飾的物件看其後先接哪個,指標變數名還是 * 

C 中的const和指標組合

const int p或者int const p p 是指向常量的指標 const在 前,p指向的這個int變數對於 p來說是const的,即不能通過 p改變這個變數的值,但是變數本身可以隨便改變自己的值。另外也可以改變p的指向。例 int x 2 int y 3 const int p x p 4...

const和指標的組合

const 限定乙個物件為唯讀屬性 一級指標 1 const char p 限定p為唯讀。p值不能變。2 const char p 限定 p為唯讀。p的操作合法。3 char const p 限定p為唯讀。p的操作合法。4 const char const p 限定p和 p都為唯讀,不能改寫。二級指...

C 中const和指標的用法

名稱是根據const和指標順序的。實際作用是根據const修飾的型別,修飾型別的資料不能改變。按照上面的兩條原則,常量指標應該是const int p這樣的寫法,作用是 如下 int a 20 int b 30 常量指標 int 指標指向的值不能改變 指標的指向可以改變 const int p a ...