C Primer 第二章 變數和基本型別

2021-07-11 20:47:15 字數 2560 閱讀 7787

#include 

int main()

乙個形如42的值被稱作字面值常量(literal)

整型和浮點型字面值

20

/* 十進位制 */

024/* 八進位制 */

0x14

/* 十六進製制 */

浮點數

3.14159 3.14159e0 0. 0e0 .001
字元和字串字面值
// 分多行書寫的字串字面值

std::cout

<< "a rea11y, rea11y long string litera1 "

"that spans two 1ines"

<< std::end1;

轉義序列
換行符     \n  橫向製表符   \t  報警(響鈴)符 \a

縱向製表符 \v 退格符 \b 雙引號 \"

反斜線 \\ 問號 \? 單引號 \'

回車符 \r 進紙符 \f

變數提供乙個具名的、可供程式操作的儲存空間。c++中的每個變數都有其資料型別,資料型別決定著變數所佔記憶體空間的大小和布局方式、該空間能儲存的值的範圍,以及變數能參與的運算。對c++程式設計師來說,」變數 (variable)」 和 「物件 (object)」 一般可以互換使用。

變數定義的基本形式是:首先是型別說明符(type specifier),隨後緊跟由乙個或多個變數名組成的列表,其中變數名以逗號分隔,最後以分號結束。

初始值巢狀的作用域

#include 

int reused = 42;

int main()

#include 

int main()

int ival = 1024;

int &refva1 = iva1; // refva1指向iva1(是iva1的另乙個名字)

int &refva12; // 報錯:引用必須被初始化

#include 

int main()

#include 

int main()

指標存放某個物件的位址,要獲取該位址,需要使用取位址符 (操作符 &)

int ival = 42;

int *p = &iva1; // p存放變數iva1的位址, 或者說p是指向交量ival的指標

double dval;

// 正確 : 初始位是 double 型物件的位址

double *pd = &dval;

// 正確 : 初始位是指向 double 物件的指標

double *pd2 = pd;

int *pi = pd;

// 錯誤: 指標pj.的型別和pd的型別不匹配

pi = &dval;

// 錯誤: 試圖把double型物件的位址賦給int型指標

int ival = 42;

int *p = &ival; // p存放著變數ival的位址。或者說p是指向交量ival的指標

cout

<< *p; // 由符號*得到指標p指的物件,輸出42

*p = 0; // 由符號*得到指標p所指的物件, 即可經由p為交量ival賦值

cout

<<*p; // 出0

int &r = i;

int*p;

p = &i;

*p = i;

int &r2 = *p

// &是宣告的一部分, *是乙個解引用符

int i = 42;

int &r = i; // r 是引用

int *p; // p 是指標

p = &i; // & 取位址符

*p = i; // * 解引用符

int &r2 = *p; // * 解引用符

int

*p1 = nullptr; // 等價於 int

*p1 = 0;

int*p2 = 0; // 直接將p2初始化為字面常數0

// 需要首先#include cstdlib

int*p3 = null; // 等價於int

*p3 = 0;

型別別名 (type alias) 是乙個名字,它是某種型別的同義詞。使用型別別名有很多好處,它讓複雜的型別名字變得簡單明瞭、 易於理解和使用,還有助於程式設計師清楚地知道使用該型別的真實目的。

typedef

double wages; //wages 是 double 的同義詞

using si = sales_item; // si是sales_item的同義詞

C Primer第二章 變數和基本型別

標籤 空格分隔 未分類 2.2 變數 2.3 復合型別 2.4 const限定符 2.5 處理型別 2.6 自定義資料結構 基本資料型別 算術型別 空型別 void c 保證short和int至少為16位,長至少32位,long long至少為64位。有符號可以表示正數,負數和零,而無符號只能表示不...

《C Primer》 第二章 變數和基本型別

各種程式語言都具有許多獨具特色的特徵,這些特徵決定了用每種語言適合開發哪些型別的應用程式。程式語言也有一些共同的特徵 內建資料型別 表示式和語句 用於操縱上述型別的值 變數 控制結構 函式。大多數現代程式語言都採用兩種方式擴充上述基本特徵集 1.允許程式設計師通過自定義資料型別擴充套件該語言 2.提...

C Primer第二章(變數和基本型別)筆記

int main int argc,tchar argv 同乙個作用域不能定義兩次 const int i,j 0 error 常量必須在定義後初始化,i並沒有被初始化 extern const int i,j 合法 int ref error 引用必須被初始化 int ref1 10 error ...