2024年 3月 16日
数值溢出应该是多少?
大家知道,因为寄存器和内存单元容量有限,数值不可能无限大。语言标准规定数值溢出可能是未定义的行为。一种常见的说法是,有符号数才有溢出的概念,无符号数没有溢出的概念,只有回绕。 检测溢出
大家知道,因为寄存器和内存单元容量有限,数值不可能无限大。语言标准规定数值溢出可能是未定义的行为。一种常见的说法是,有符号数才有溢出的概念,无符号数没有溢出的概念,只有回绕。 检测溢出
大部分编程语言都支持由程序员自定义新类型,除了结构体、共同体明显的新类型,还有typedef由已有类型复制"新"类型,事实上,它就是原来的类型。用它的好处是可以统一内部类型定义。 编译器内部typed...
虽然sizeof表达式宣称是编译期常量,依然不能被条件编译处理,因为预处理根本无法解析稍微复杂的表达式,包括sizeof表达式。有人会说,既然sizeof都是常量,为何不让预处理也能使用呢?
头文件搜索顺序规则 以GCC为例,用户头文件""和系统头文件<>先后顺序规则如下: 我曾经写过测试代码,证明了如上规则的正确性。当然,使用man gcc搜索-iquote也可以找到规则。 ...
C语言强大的宏定义可以让基本所有可识别的标识符变成想要的定义,甚至包括关键字,比如int整型变成短整型。 #define int short #define BEGIN { #define END }...