C語言中有多种大小不同的整數型態(integer)。整型以二进制整數存儲,分為兩種形態:
有符號(signed),可以儲存負整數、0、正整數;
無符號(unsigned),只可以儲存0或正整數。
#include
int main(int argc, char* argv[])
{
int a = -5;
printf("%d\n", a);
// 輸出 -5
unsigned int b = 3;
printf("%d\n", b);
// 輸出 3
}
在C語言,整數型共有short int、int、long int、long long int(於 C99 加入)四種子類型。在類型前不加 unsigned 时,對應類型默认为有符號類型。
short int可簡寫為short,佔2字節。int佔4字節。long int可簡寫為long,根據機器不同佔4或8字節。long long int佔8字節。
在C99中,stdbool.h 引入了如下三大類整型類型。
格式
解释
註释
(u)intx_t
精確佔x位(x/8字節)的整數型態
x可取8、16、32或64,下同
(u)int_leastx_t
至少佔x位(x/8字節)的整數型態
(u)int_fastx_t
至少佔x位(x/8字節)且運算快速的整型
如在CPU中,32位整型的運算比16位快,则int_fast16_t也佔4字節