第四章 表示式 4 9 sizeof 運算子

2021-10-19 14:51:33 字數 928 閱讀 8447

sizeof運算子返回一條表示式或乙個型別名字所佔的位元組數。sizeof運算子滿足右結合律,其所得的值是乙個size_t型別的常量表示式。運算子的運算物件又兩種形式:

sizeof (type)

sizeof expr

在第二種形式中,sizeof返回的是表示式結果型別的大小,sizeof並不實際計算其運算物件的值。

sales_data data,

*p;sizeof

(sales_data)

;// 儲存 sales_data 型別的物件所佔的空間大小

sizeof data;

// data 的型別大小,即 sizeof(sales_data)

sizeof

*p;// p 所指向型別的空間大小,即 sizeof(sales_data)

sizeof p;

// p 指標所佔的空間大小

sizeof data.revenue;

// sales_data 的 revenue 成員對應型別的大小

sizeof sales_data::revenus;

// 另一種獲取 revenue 大小的方式

sizeof運算子的結果部分地依賴於其作用的型別:

// 返回陣列 ia 的元素數量

constexpr size_t sz =

sizeof

(ia)

/sizeof

(*ia)

;int arr2[sz]

;// sizeof 返回乙個常量表示式,可以用結果宣告陣列的維度

第四章 表示式

左值,用的是物件的身份 記憶體中的位置 右值,用的是物件的值 解引用生成 左值,取位址生成乙個 右值 bool b true bool c b c為true,因為 bool值在計算的時候被轉換成整型號int,所以b被轉換成 1,不為0,所以賦值給c的時候,為true int b while b ge...

第四章 表示式

這個概念暫時很模糊,打算學完這一章再總結。目前的理解是,左值有名字,可以通過名字訪問記憶體,右值沒有名字,一般是運算的中間結果或者字面值常量等。const修飾的變數是常量左值 如果decltype 函式的括號中表示式結果是左值,則得到乙個引用型別。例如在下面這段 中,b是int型別,c是int 型別...

第四章 學習 表示式

4.1 c 將運算子分為三類 1.一元運算子2.二元運算子 3.三元運算子 4.2 使用初等表示式 是運算子的重要組成部分。幾種不同的初等表示式 1 字面值 在c 中 直接使用硬編碼的值。比如 if firstname brain brain 就輸入直接使用硬編碼 也可以這樣 將其存入某個變數中,然...