C语言中的一些小知识汇集

用gcc编译foo.cpp是会报错:undefined reference to ‘__gxx_personality_v0’

原因是gcc把.c当成C 源文件,.C或者.cc当成C++源文件,用g++编译或者用gcc编译时指定C++选项就可以了


前面加0b表示二进制

加0x表示十六进制

数字前加0表示八进制

'?' //ASCII值是63

'\077' //是8进制表示'?',0可以省略,因为C,C++规定不允许使用斜杠加10进制数来表示字符

'\0x3F' //是16进制表示'?'

关键字 位长(字节) 范围 格式化字符串
char1-128..127(或0..255,与体系结构相关) %c
unsigned char10..255 
signed char1-128..127 
int2(16位系统) 或
4
-32768..32767 或
-2147483648..2147483647
 %i, %d
unsigned int2 或
4
0..65535 或
0..4294967295
 %u
signed int2 或
4
-32768..32767 或
-2147483648..2147483647
 %i, %d
short int2-32768..32767 %hi
unsigned short20..65535 %hu
signed short2-32768..32767 
long int4 或
8[3]
-2147483648..2147483647 或
-9223372036854775808..9223372036854775807
 %li, %ld
unsigned long4 或
8
0..4294967295 或
0..18446744073709551615
 %lu
signed long4 或
8
-2147483648..2147483647 或
-9223372036854775808..9223372036854775807
 
long long8-9223372036854775808..9223372036854775807 %lli
unsigned long long80..18446744073709551615 %llu
float43.4x10−38..3.4x10+38 (7 sf) %f, %e, %g
double81.7x10−308..1.7x10+308 (15 sf) %f, %e, %g
long double8 或以上编译器相关 %Lf, %Le, %Lg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值