有四种整数类型,具体取决于需要保存变量的数值长度。下面给出了32位和64位系统的典型范围。
char myChar = 0; /* -128 to +127 */
short myShort = 0; /* -32768 to +32767 */
int myInt = 0; /* -2^31 to +2^31-1 */
long myLong = 0; /* -2^31 to +2^31-1 */
C99增加了对long long
数据类型的支持,保证长度至少为64
位。
long long myLL = 0; /* -2^63 to +2^63-1 */
要确定数据类型的大小,请使用sizeof
运算符。sizeof
运算符返回类型占用的字节数。sizeof
运算符返回的类型是size_t
。size_t
是整数类型的别名。
在C99中引入了修辞符%zu
以使用printf
格式化此类型。Visual Studio不支持此修辞符,可以使用%Iu
。
#include <stdio.h>
int main(void) {
size_t s = sizeof(int);
printf("%zu", s); /* "4" (C99) */
printf("%Iu", s); /* "4" (Visual Studio) */
}
也可以使用八进制或十六进制表示法分配整数。以下值均表示相同的数字,十进制表示法为50
。
#include <stdio.h>
int main() {
int myDec = 50; /* decimal notation */
int myOct = 062; /* octal notation (0) */
int myHex = 0x32; /* hexadecimal notation (0x) */
printf("%d", myDec);
printf("%d", myOct);
printf("%d", myHex);
}
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/266428.html