【WIP】C 语言拾遗 Part.1
long 与 long long
long 一般占用4~8字节,long long 至少 占用8个字节。不同的平台和编译器,长度可能不同。
sizeof() 运算符
注意 sizeof() 属于运算符的一种,这个运算符用于测量括号内的变量(或类型)占用的字节数量。多数情况下,这一数量在编译时确定,因此 sizeof() 的运行结果是一个编译时常量。但也有例外,如C99标准引入的变长数组特性。该类数组的size需在程序运行时、数组开辟后确定。
由于是编译时常量,括号内如果是表达式,则表达式不会被执行。
1 | int a = 1; // a = 1 |
浮点数精度问题
老生长谈的话题了。由于误差,以下的逻辑判断结果都是成立(1):
1 | (0.1 + 0.1 + 0.1) != 0.3; // 1; |
没有 body 的 for 循环
可以写成如下形式:
1 | for(i = 0; i < 10; i++) { |
或者如下形式:
1 | for(i = 0; i < 10; i++); |