C 中const的作用

2021-10-01 03:01:49 字數 1249 閱讀 6842

c語言: #define 常量名 常量值

c++: const 型別 常量名=常量;

(1)常量一經定義就不能修改,例如:

const int i = 5; // 定義常量i

i =10; // 錯誤,修改常量

i++; // 錯誤,修改常量

(2)const常量必須在定義時初始化,例如:

const int n; //錯誤,常量n未被初始化

(1)指向常量的指標:所指內容為常量,指標為變數(const放在內容型別前)

例如:const char*p=「good」; //const在char之前,表示指標指向的字元為常量,

//不允許通過該指標來修改指向的字元
*(p+2)=『l』; //錯誤,所指物件為常量

p=「very」; //正確,指標為變數

再例如:

int i=5;

const int*p=&i;

*p=6; //錯誤,所指物件為常量

i=6; //正確,指標為變數

(2)指標常量:指標為常量,指向內容為變數( const放在指標前)

例如:char* const p=「good」; //指標名前加const,表示指標本身是常量

p=「very」; //錯誤

*(p+2)=『l』; //正確

(3)指向常量的常量指標:指標為常量,指向內容也為常量(const加到內容型別前,也放到指標前)

例如:const char * const p=「good」; // const指標前(指標為常量),

// const加到內容型別前(內容為常量)

p=「very」; //錯誤,指標為常量

*(p+2)=『l』; //錯誤,內容為常理

class complex

public:

complex(intr=0,int i=0);

voiddisplay()const;

complex add(const1 complex &c)const2; //兩複數相加

private:

intreal;

intimag;

前乙個const修飾複數表示物件c為常量,即c的資料成員不允許修改

如:c.real=10;//錯誤

後乙個const修改函式add表示在該函式中,禁止修改當前物件的資料成員。

如: real=10;//錯誤

c 中const的作用

const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...

c 中const的作用

const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...

c 中const的作用

const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...