整形
Name Description Size* Range*signed: Range*unsigned: short Short Integer. 2bytes -32768 to 32767 0 to 65535 int Integer. 4bytes -2147483648 to 2147483647 0 to 4294967295 long Long integer. Windows为4字节,Linux为4字节(32位),8字节(64位) -2147483648 to 2147483647 0 to 4294967295 long long Long Long 8bytes
默认根据数字大小选择相应的类型,如果一个数太大无法用int表示,也会被当成long类型处理 long类型以l或者L结尾,如123445L,这个使用场景是#define
声明时,让看代码的人一目了然. 无符号常量用u或者U来表示,比如ul表示unsigned long类型
#include <stdio.h>
int main ( void )
{
int a = sizeof ( short ) ;
int b = sizeof ( int ) ;
int c = sizeof ( long ) ;
int d = sizeof ( long long ) ;
printf ( "%d\t%d\t%d\t%d\t\n" , a, b, c, d) ;
getchar ( ) ;
return 0 ;
}
字面值
整型常量 所需类型 10 代表int类型 10l, 10L 代表long类型 10ll, 10LL 代表long long类型 10u, 10U 代表unsigned int类型 10ul, 10UL 代表unsigned long类型 10ull, 10ULL 代表unsigned long long类型