C語言資料型別
阿新 • • 發佈:2018-12-22
整形
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 自動選擇合適的表示法