常量指標與指向常量的指標

2022-04-02 04:44:53 字數 572 閱讀 7776

1 #include2

void

main()

編譯結果:

hello.c: in function 『main』:

hello.c:

8:2: error: assignment of read-only location 『*p1』

*p1 = 2;//

企圖改變a的值(非法)

^hello.c:

9:2: error: assignment of read-only location 『*p2』

*p2 = 2;//

企圖改變a的值(非法)

^hello.c:

12:2: error: assignment of read-only variable 『b』

b = &a;//

企圖改變b的值。(非法)

^

區分技巧:

首先兩者都是指標。看*和const誰離的變數名近:如果const近,那麼就是const指標(const=常量嘛,常指標);如果*近,就是指向常量的指標,此時const與int的位置無關。

常量指標與指向常量的指標

在日常交流中,當乙個 c 程式設計師說 常量指標 const pointer 時,其實他表達的意思往往是 指向常量的指標 pointer to const 真不幸,這是兩個完全不同的概念。t pt new t 乙個指向t的指標 const t pct pt 乙個指向const t的指標 t cons...

常量指標與指向常量的指標

以下所有 測試的ide為code blocks16.01 常量指標是指指標變數本身不可以改變的指標,但是可以通過指標變數修改所指向的變數,常量指標不能指向常量 int number1 10 int number2 20 const int number 30 int const pnumber1 n...

c 常量指標與指向常量的指標

這是兩個初學者容易混淆的概念。比如,t pt new t const t pct pt 指向常量 const t 的指標 t const cpt pt 常量指標,指向t 不過使用乙個引用比使用乙個常量指標更簡單 const t rct pt 不用const t const t rt pt 不用t c...