《C primer》筆記 第二章2 4const

2021-07-27 09:48:05 字數 1197 閱讀 7542

1.constant常量宣告的時候必須要初始化

例如:

const

int buf=1024;

//此時buf不再是變數而是乙個常量,符合常量的原則

2.對const常量的引用(reference to const)

引用常量本質上是繫結了乙個常數。

常量的引用也必須是常量 因此具有該格式:

const

int buf=1024;

const

int &r=buf;//引用也必須為常量,格式與引用物件相同

//引用r,因此不能對r進行賦值的更改(因為是常量),也不能進行物件更改(因為是引用)

本質上常量引用r繫結的是1024,而非buf;

2.1常量引用的初始化

int a=1;

const

int &r1=a;//允許,常量引用可以被變數初始化;

const

int &r2=12;//允許,常量引用可以被常量初始化;

//需要注意的是一般的引用是不能被常量初始化的;

//而常量引用可以被常量初始化,即將常量引用繫結到了乙個常量上(符合邏輯)

2.2指向常量的指標(pointer to const)

int a=1;

int b=1024

const

double* ptr=b;//常量的是double,因此內容不能改變即*ptr是個常量不能改變

ptr=&a;//允許,因為指標ptr並不是常量,位址是可以改變的

2.3常量指標(const pointer)

與常量引用類似,顧名思義,指標為常量,因此const的物件為ptr

int a=1;

double* const ptr=&a;//常量的物件是個指標因此ptr永遠指向a的位址;

//此時可以修改*ptr的值

const

double* const ptr1=a;//指標指向的位址和指標內容都為常量

//因此不發更改指標和內容

3.const 的拷貝

注意拷貝是變數給變數,變數給常量的內容複製

賦值為常數給變數或者常量的內容賦予

規則:

c primer 筆記,第二章

初始化的含義是建立變數並賦予其乙個初始值,賦值的含義是將物件當前的值擦除 初始化四種方式 int n 0 int n 用花括號稱為列表初始化,當使用列表初始化且初始值存在丟失的風險,編譯器會報錯 int n int n 0 定義於函式體外的變數被初始化為0,函式體內部的內建型別變數不被初始化,類的物...

C Primer 筆記 第二章

c primer 第二章 變數和基本型別 2.1基本內建型別 有算數型別和void 型別 算數型別儲存空間大小依及其而定。算數型別表 型別含義 最小儲存空間 bool 布林型 char 字元型8 wchar t 寬字元型 16short 短整型16 int整型 16long 長整型32 float ...

c primer 學習筆記(第二章)

第二章 變數和基本型別 2.1基本內建型別 基本內建型別中,因為位數的不同,這些型別所表示的最大最小值也因機器的不同而不同。即 c 基本資料型別的儲存空間依機器而定 型別含義 最小儲存空間 bool 布林型 char 字元型8bit wchar t 寬字元型 16bit short 短整型16bit...