指標與常量

2021-10-22 20:36:27 字數 2010 閱讀 8569

二、指標常量

三、常量指標

const 為指定說明符(也稱為常型別說明符),使用指定時,程式執行的過程中指定的內容不能被改變(凍結、限定)。即一次初始化後,指定的內容始終不變。

定義一般常量

使用const 說明常量:int const x=2; 或const int x=2;

x++;(錯誤)

定義或說明乙個常陣列: double const a[2]=;

const double a[2]=;

常量定義時,應被初始化。 const int i;(錯誤)

c 中常量定義用#define pi 3.14159

c++中使用const double pi=3.1415;

積極使用const, 避免使用巨集,可以用const、enum定義常量。

注意:c中define巨集定義後沒有分號

在指標定義語句的指標名前加const, 表示指標本身是常量。

(示例):

int a;

int*

const p=

&a; 定義時必須初始化

指標值p不可以修改,指標指向的內容可以修改。

即p是常量,不可以作為左值進行運算,*p可以修改

(示例):

int a[10]

;int

*const p=a;

int b[6]

; p=b;

// 錯誤

*p=6

;// 正確

*(p+6)

=6;// 正確

*p++=7

;// 錯誤

const

int c=0

;int

*const q=&c; // 錯誤(不允許外界提供修改常量的漏洞)

常量指標:

在指標的定義型別前加const,表示指向的物件是常量。

如const int *p 或 int const *p; 均可。

以上定義表明,p是常量,不能將p作為左值進行操作。

定義指向常量的指標時,定義時不必須先初始化。

const

int a=78;

const

int b=28;

int c=18;

const

int*pi=

&a; pi=

&b;//ok

*pi=68;

//error

pi=&c;//ok

*pi=88;

//error

c=98

;//ok

int*f=

&a;// 錯誤(a本身不能被修改)

形式: const int const p=&a; 定義時必須初始化

p與p都是常量。他們都不能作為左值進行操作

int b[10]

;const

static

int a[

10]=

;int

*const pi=a;

// 錯誤

const

int*

const p=a; // 正確

const

int*

const q=b; //正確

p++; // 錯誤

*p=1; // 錯誤

*(a+2)

=2;// 錯誤

*q=5

;// 錯誤

q++;// 錯誤

b[0]

=5;// 正確

指標常量與常量指標

指標常量與常量指標 指標常量是指定義的指標只能在定義的時候初始化,之後不能改變其值,格式如下 資料型別 const 指標常量名稱 例項如下 1char constp1 2int constp2 const 位於指標宣告符 的右側,這說明宣告的物件是乙個常量,而物件的資料型別是指標。所以第一句定義了乙...

常量指標與指標常量

首先,我告訴大家乙個小規則,就是像這樣連著的兩個詞,前面的乙個通常是修飾部分,中心詞是後面乙個詞,怎麼說呢。就像這裡的常量指標和指標常量。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。我再分開細細說明,常量指標,它是乙個指標,什麼樣的指標...

常量指標與指標常量

在c c 面試中經常會考到常量指標和指標常量,對初學者來說經常會分不清楚,參考網路上的資料,重新學習 記錄一下。常量指標 指向常量的指標,即指向的內容為常量,不可更改,但指標自身的值可以修改。常量指標常量 指標指向的內容不可改變,指標本身的值也不能改變。int a 3 int b 4 const i...