1. 程式人生 > >C語言資料型別

C語言資料型別

整形

Name Description Size* Range*signed: Range*unsigned:
char Character or small integer. 1byte -128 to 127 0 to 255
short int (short) Short Integer. 2bytes -32768 to 32767 0 to 65535
int Integer. 4bytes -2147483648 to 2147483647 0 to 4294967295
long int (long) Long integer. 4bytes -2147483648 to 2147483647 0 to 4294967295

1. 預設根據數字大小選擇相應的型別,如果一個數太大無法用int表示,也會被當成long型別處理
2. long型別以l或者L結尾,如123445L
3. 無符號常量用u或者U來表示,比如ul表示unsigned long型別

int型的不同的值的個數是與機器相關的,有的是2位,有的是4位

浮點型

Name Description Size* Range*signed:
float Floating point number.(浮點型) 4bytes +/- 3.4e +/- 38 (~7 digits)
double Double precision floating point number.(雙精度浮點型) 8bytes +/- 1.7e +/- 308 (~15 digits)
long double Long double precision floating point number. 8bytes +/- 1.7e +/- 308 (~15 digits)

1. 預設用double型別儲存小數
2. 字尾f或者F表示float型別
3. 字尾l或者L表示long double型別

字元

Name Description Size* Range*signed:
wchar_t Wide character. 2 or 4 bytes 1 wide character

字元常量是一個整數,通過編碼表(ASCII,GBK)的對映生成字元.
‘x’與”x”是不同的,前者是一個整數,其值是字母x在字符集中對應的數值;後者是一個包含一個字元以及一個結束符’\0’的字元陣列。

在C中,每個型別為char的變數都存在記憶體的一個位元組中.大多數機器上一個位元組由八位組成.
char c = 'a'
在記憶體中的儲存方式

0 1 1 0 0 0 0 1
7 6 5 4 3 2 1 0

記憶體中的每個位元組看作是由八個二進位制陣列成的串.二進位制陣列成的串也被稱為位串(bit string)

常用轉義字元:

符號 說明 符號 說明
\a 響鈴符 \ 反斜槓
\b 回退符 \? 問號
\f 換頁符 \’ 單引號
\n 換行符 \” 雙引號
\r 回車符 \ooo 八進位制數
\t 橫向製表符 \xhh 十六進位制數
\v 縱向製表符 \0 空字元

布林

Name Description Size* Range*signed:
bool Boolean value. It can take one of two values: true or false. 1byte true or false

格式化字元

%d 十進位制有符號整數
%u 十進位制無符號整數
%f 浮點數
%s 字串
%c 單個字元
%p 指標的值
%e 指數形式的浮點數
%x, %X 無符號以十六進位制表示的整數
%0 無符號以八進位制表示的整數
%g 自動選擇合適的表示法