注意:要在宣告的時候進行初始化
宣告的方式:型別名 * const 變數名
1.不能再指向別的變數,指標的value不可更改
[cpp]
#include
void main()
報錯:error c2166: l-value specifies const object
2.可以通過指標為那個變數賦值(變數值不是const)
[cpp]
#include
void main()
結果:a=188
press any key to continue
3.const指標指向的是const變數,改變變數的值(在linix下可以實現)
[cpp]
#include
void main()
第二種宣告方式:const 型別名 * 變數名
1.pointer to constants 指向常量的指標
指向常量的指標,防止通過指標去修改變數的值,不管該變數是否是const變數
[cpp]
#include
void main()
結果:不能修改
rror c2166: l-value specifies const object
2.指向常量的指標,該指標可以指向別的變數,指標的value是可以更改
[cpp]
void main()
3.指向常量的指標,不能賦值為乙個普通的指標,因為指向常量的指標是不可以修改變數的值的,如果把它賦給了乙個普通的指標,那麼就可能www.2cto.com
實現修改變數的值,所以是不可以的
[cpp]
#include
void main()
報錯:error c2440: 'initializing' : cannot convert from'const int *' to 'int *'conversion loses qualifiers
第三種宣告方式:const int * const 變數名
該指標變數的值和該指標指向的空間的值都是不可改變的
加深:[cpp]
#include
void main()
摘自 like7xiaoben
初學C語言 指標
運算子計算形式意義 px n 指標向位址大的方向移動n個資料 px n 指標向位址小的方向移動n個資料 px 指標向位址大的方向移動1個資料 px 指標向位址小的方向移動1個資料 px py 兩個指標之間相隔資料元數的個數 注 以指標型別為計算單元 若 int arr n int p arr 則有 ...
C 初學之路 const
本文總體是對於const的小結 const宣告 可以在類,成員,成員函式,引用之前 1.const 類 宣告格式 const 類名 物件名 const a a 3,4 這裡的物件一定要初始化,且不能更新,且只能呼叫const型別的成員函式。2.const 成員 宣告格式 const 類名 物件名 c...
C語言的const和指標
int const a cont int a 這兩者是等價的。代表不可以改變的常量。const修飾的是a代表a不可作為左值。1 常量指標const int b base 或者int const c base 2 指標常量int const d base1 此時要求const 在 號前面。int co...