详解C语言整型常量后缀的使用方法
整型常量后缀决定了该常数属于哪个整型。如果不加任何后缀,默认为 int 类型。现在让我们来看看各个整型常量后缀及示例:
短整型(short)
短整型常量无需添加后缀,例如:-1, 0, 34 等。
short s = 34;
无符号短整型(unsigned short)
无符号短整型常量也无需添加后缀,例如:0, 34 等。
unsigned short us = 34;
整型(int)
整型常量无需添加后缀,例如:-1, 0, 34 等。和短整型共用。
int i = 34;
无符号整型(unsigned int)
无符号整型常量后添加U或u,例如:23U, 456u, 0U 等。
unsigned int ui = 23U;
长整型(long)
长整型常量后添加L或l,例如:-12L, 0L, 45l 等。
long l = 45l;
无符号长整型(unsigned long)
无符号长整型常量后添加UL,lu,ul,UL,Lu,lu,Ul或uL,例如:0UL, 23Lu等。
unsigned long ul = 23Lu;
长长整型(long long)
长长整型常量后添加LL或ll,例如:-12LL, 0ll, 45lL 等。
long long ll = -12LL;
无符号长长整型(unsigned long long)
无符号长长整型常量后添加ULL,llu,ull,LLU,llU,Ull或uLL等,例如:0ULL, 23llu等。
unsigned long long ull = 23llu;
可以看出,除短整型和整型外,其他整型都有对应的专门后缀来标识。而无论大小写,这些后缀的意义都是相同的。
所以回到开头的问题,给定常数 12,没有后缀,所以它属于整型(int)。如果写成 12L,则它是长整型常量,如果写成 12U,则它是无符号整型常量。
希望通过这个简单的整理,可以帮助大家理解整型常量及其后缀之间的对应关系。如果还有任何疑问,也请在评论区提出,我会继续举例解答。