C C 的基本資料型別

2022-04-03 12:31:50 字數 2898 閱讀 1309

1.下**列出了主要的資料型別和範圍大小等。

type

size

數值範圍

無值型void

0 byte

無值域布林型bool

1 byte

true   false

有符號短整型short [int] /signed short [int]

2 byte

-32768~32767

無符號短整型unsigned short [int]    

2 byte

0~65535

有符號整型int /signed [int]

4 byte

-2147483648~2147483647

無符號整型unsigned [int]

4 byte

0~4294967295

有符號長整型long [int]/signed long [int]

4 byte

-2147483648~2147483647

無符號長整型unsigned long [int]

4 byte

0~4294967295

long long

8 byte

0~18446744073709552000

有符號字元型char/signed char

1 byte

-128~127

無符號字元型unsigned char

1 byte

0~255

寬字元型wchar_t (unsigned short.)

2 byte

0~65535

單精度浮點型float

4 byte

-3.4e-38~3.4e+38

雙精度浮點型double

8 byte

1.7e-308~1.7e+308

long double

8 byte

注:(1)型別修飾符signed和unsigned用於修飾字元型和整形, float和double沒有有符號和無符號的說法。

(3)當用signed和unsigned、short和long修飾int整形時,int可省略, long  和short是(long  int)和(short int)的簡寫。

(4)其中bool和wchar_t是c++特有的。對於條件判斷,零為假,非零為真,對bool變數可賦非0非1的其他真值。

(5)float的精度(6位有效數字)通常是不夠的,double型別可以保證10位有效數字,能夠滿足大多數計算的需要。使用double型別基本不會出錯,在float型別中存在隱式的精度損失。預設的浮點字面值常量為double型別,在數值後面加上f或f表示單精度,例如3.14159f。浮點數float、double的儲存設計,從本質上來說是設計了乙個數值對映,充分利用了二進位制儲存的特點。參考ieee754浮點數表示標準。

(6)除上表以外,c/c++都可以自定義列舉enum、聯合union和struct結構體型別。

(7)void的字面意思是「無型別」,不能用來定義變數。void真正發揮的作用在於:<1> 對函式返回和函式引數的限定,例如自定義既不帶引數也無返回值的函式void myfunc(void);<2>定義無型別通用指標void *,指向任何型別的資料。

(8)關於32位平台下的int和long

long從字面上看,應該是64位才更合理,把long當成32位實在是乙個歷史的包袱。像c#那樣新起爐灶的程式語言,由於沒有需要支援老**的問題,就把long當作64位來處理了。

在32位平台下,long是相對short而言,long(short)型別是long(short) int型別的簡稱,sizeof(long) = sizeof(int) = 4。int和long的範圍雖然一樣,但輸入輸出格式不同,printf int的格式為%d,而printf long的格式為%ld。

考慮到程式的可移植性,還是要將他們區分開來。但當要求的數值範圍為4byte時,建議使用int型別,因為第一版的c語言只有一種內建型別,那就是int。

long型別的位數總是和機器的指標位數相等。int是乙個字長,short是半個字長

字面值整數常量的型別預設為int或long,其精度型別取決於精度值,其值適合int型就是int型,比int型(int_max)大的就是long型別。通過增加字尾可強制將字面值整數常量轉換成long、unsigned或unsigned long型別。通過在數值後面新增l或l(推薦使用l,防l與1混淆)指定常量為long型別。例如128u,1l,1024ul,8lu。沒有short型別的字面值常量。

(9)在win32 api及mfc中為了使型別名稱在語意上更明了,對以上基本型別進行了大量的typedef。例如windef.h中的byte,word,dword。

指標型別均佔據4個位元組的大小

2.在程式中演示其大小(32位的windows系統下)

cout<1bytes

cout

<1 bytes

cout

<1 bytes

cout

<1 bytes

cout

<4 bytes

cout

<4 bytes

cout

<4 bytes

cout

<2 bytes

cout

<4 bytes

cout

指標的大小:

cout<4 bytes

cout

<4 bytes

cout

<4 bytes

cout

<4 bytes

C C 基本資料型別

學了c然後c 然後mfc windows,然後是c 其中資料型別很多,由基本型別衍生的typedef型別也n多。熟知基本資料型別是我們正確表達實際問題中各種資料的前提,因此我分類總結了一下c c windows c 基本資料型別,以便日後查閱。ansi c c 基本資料型別 說明 1 型別修飾符si...

C C 基本資料型別

學了c然後 c 然後 mfc windows,然後是c 其中資料型別很多,由基本型別衍生的 typedef 型別也n 多。熟知基本資料型別是我們正確表達實際問題中各種資料的前提,因此我分類總結了一下 c c windows c 基本資料型別,以便日後查閱。ansi c c 基本資料型別 type s...

c c 基本資料型別

整型 浮點型 int main 執行結果 size char 1 short int 2 int 4 long 4 long long int 8 int long long 8 long long 8 三種寫法相同 float 4 double 8型別 大小 byte char 1short 2i...