c c 操作符之sizeof

2022-03-16 09:16:13 字數 1258 閱讀 9250

1、基本資料型別

常見的基本資料型別有void、bool、char、int、short(int)、long(int)、float、double、long long、long double等。同型別有符號與無符號所佔位元組數相同,故在此不做區分。

型別大小

void

0 byte

bool

1 byte

char

1 byte

short(int)

2 bytes

long(int)

4 bytes

int4 bytes

float

4 bytes

double

8 bytes

long long

8 bytes

long double

8 bytes

2、指標

在32位機器下,指標的大小是4位元組。

下面有個例子,

char* str="string";

sizeof(str)=_______

我們通常想到的答案是6或者是7。以為要求的是字串的大小,但其實,str是乙個字元指標,答案應該是4。

3、字串

求字串的大小時,很容易出錯。因為常常會忽略字串都是以"\0"結尾的。

上面那個例子,如果改為

char str="string";

sizeof(str)=_______

那麼正確答案

應該是7。

但是如果指定了字串的長度,例如

char str[10]="string";

sizeof(str)=_______

那麼答案則是10。

如果指定的字串的長度小於字串本身的長度,則會出錯。

char str[6]="string";

sizeof(str)=_______

在vs2010下,提示錯誤,陣列界限溢位。

4、結構體

struct a

;sizeof(a)=_______

在預設對齊方式下,答案為24。

5、類

class b

;sizeof(b)=_______

答案為4。計算方式與結構體相同。

6、函式

等於函式返回值的大小。

C C 之 操作符過載

1.成員函式過載操作符 除 外其他操作符都可過載 1 a.雙目操作符宣告格式 class 類名 b.雙目操作符定義格式 返回值型別 類名 operator 型別 c.雙目操作符使用格式 類名 a 類名 b a b 或a.operator b 2 a.單目操作符過載宣告格式 class 類名 b.單目...

詳解sizeof操作符

一 sizeof是c語言的一種單目操作符,如c語言的其他操作符 等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 sizeof的使用方法 1 用於資料型別 sizeof使用形式 sizeof ...

sizeof操作符詳解

論及測試基礎是windows 32位平台,vs2008開發工具 測試基本型別 1.基本規則 sizeof 操作符的作用是返回乙個物件或型別名所佔的記憶體位元組數,返回值的型別為size t,長度的單位是位元組,在編譯而不是執行時確定。對引用型別做sizeof操作將返回存放此引用型別物件所需的內在空間...