有關指針和C語言中的常量

 

常量類型(五種):spa

字面常量(2,3,6....) ;                           enum 定義的枚舉常量;操作系統

字符常量('a','b'....) ;                          const 定義的常變量;指針

#define 定義的 宏常量.內存

 

' * ' 的功能:變量

1): * 在兩個變量或常量之間  =>  表示乘法 (a*b,a*10 ...);引用

2):* 左邊是類型,右邊是變量時 => 表示聲明 聲明該變量爲一個指針變量;co

3)* 左邊爲空右邊爲指針變量時 => 表示解引用(指向) .字符

 

指針相關:background

1) 定義指針變量時,系統會將*和變量相結合 =>(int* p,r;//定義了一個指針變量p,一個整形變量);枚舉

2) 定義/使用指針時要注意(野指針\空指針\失效指針)尤爲是野指針!所以要將指針初始化(*p=NULL);

3) 指針大小在32位操做系統佔4字節,64位操做系統佔8字節;

4) 使用指針變量,要明確指針自己的值(存儲的是地址) , 以及指針指向的值(指針變量所指的實體)(解引用);

5) 指針類型決定了指針的加一的能力.(p = p + 1  =>  p = p + sizeof(typename)*1);

6) 指針類型決定了指針對內存操做的能力.

 

const 和指針

const  int *p = &a     const 在 * 的左邊,const 修飾的是指針的指向能力.等價於  int const *p = &a,即不可更改*p的值,可是能夠更改p自己的值: p=&b true,但*p = 200 false

int * const p =&a       const 在 * 的右邊,const 修飾的是指針自身的值,即不可更改p自己的值,但能夠更改*p的值 p=&b false,但*p = 200 true.

相關文章
相關標籤/搜索