C C 基本資料型別

2021-09-08 21:13:06 字數 3952 閱讀 2617

學了c然後

c++,然後

mfc/windows,

然後是c#,

其中資料型別很多,由基本型別衍生的

typedef

型別也n

多。熟知基本資料型別是我們正確表達實際問題中各種資料的前提,因此我分類總結了一下

c/c++/windows /c#

基本資料型別,以便日後查閱。

ansi c/c++

基本資料型別:

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

用於修飾字元型和整形。

(2)型別修飾符

short

和long

用於修飾字元型和整形。

(3)當用

signed

和unsigned

、short

和long

修飾int

整形時,

int可省略。

(4)其中

bool

和wchar_t

是c++

特有的。

(5)除上表以外,

c/c++

都可以自定義列舉

enum

、聯合union

和struct

結構體型別。

(6)以上

sizeof

通過windows xp 32

位平台測試,其中某些型別資料的位元組數和數值範圍由作業系統和編譯平台決定。比如

16位機上,

sizeof(int) = 2

,而32

位機上sizeof(int) = 4;32

位機上sizeof(long) = 4

,而64

位機上sizeof(long) = 8

。除此之外,注意

64位機上的

pointer

佔8byte。

(7)void

的字面意思是

「無型別

」,不能用來定義變數。

void

真正發揮的作用在於:

<1>

對函式返回和函式引數的限定,例如自定義既不帶引數也無返回值的函式

void myfunc(void);<2>

定義無型別通用指標

void *

,指向任何型別的資料。

(8)標準

c++庫及

stl還提供了通用資料結構:字串類

string

;向量類模板

vector

;雙端佇列類模板

deque

;鍊錶類模板

list

;容器介面卡堆疊類

stack

(實現先進後出的操作);容器介面卡佇列類

queue

(實現先進先出的操作);集合類

set;多重集合類

multiset

;對映類

map;多重對映類

multimap

;位集合

bitset

;迭代器

iterator (

類似指標的功能

,對容器的內容進行訪問)。

(9)在標準c++

中,int

的定義長度要依靠你的機器的字長,也就是說,如果你的機器是

32位的,

int的長度為

32位,如果你的機器是

64位的,那麼

int的標準長度就是

64位,而vc中

__int64

是為在32

機位機器長實現

64位長度的整形數。

(10)關於

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。

(11)在

win32 api

及mfc

中為了使型別名稱在語意上更明了,對以上基本型別進行了大量的

typedef

。例如windef.h

中的byte,word,dword。

(12)計算機內部記憶體的基本單位是1byte(8個電子開關)!

參考:

《mfc/windows基本資料型別》

《從char/wchar_t到tchar(1)》

《從char/wchar_t到tchar(2)》

《c# 基本資料型別》

《32位還是64位》

《windows資料型別探幽》

《針對 c/c++ 開發人員採用 windows 64 位》

C C 基本資料型別

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

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...

C C 基本資料型別

整數型別 1.byte型別 分配1個位元組記憶體,佔8位 二進位制 取值範圍是 27 27 1 2.int型別 分配4個位元組記憶體,佔32位,取值範圍 232 232 1.10 9數量級 3.long long型別 分配8個位元組記憶體,佔64位,取值範圍是 264 264 1.10 18數量級 ...