奇思妙想
2024年 3月 17日
2024年 3月 17日
2024年 3月 17日
restrict是如何限定指针访问的?
restrict在C99标准中引入,用于限定指针的访问方式。目标为了告诉编译器,对于通过restrict修饰的指针所指向的对象,只能通过这个特定的指针来访问,而不能通过其他任何方式。注意,这是以程序员...
2024年 3月 17日
为什么指针是c语言精华?
从硬件角度,寄存器保存地址,可指向所有内存,读写所有可访问内存,硬件功能就具备完备性。在C语言中,这就是pointer指针的代名词。 从现实角度,所有问题的核心问题其实就是找到"地址"。警匪电影是想要...
2024年 3月 16日
数值溢出应该是多少?
大家知道,因为寄存器和内存单元容量有限,数值不可能无限大。语言标准规定数值溢出可能是未定义的行为。一种常见的说法是,有符号数才有溢出的概念,无符号数没有溢出的概念,只有回绕。 检测溢出
2024年 3月 16日
如何理解typedef定义的类型?
大部分编程语言都支持由程序员自定义新类型,除了结构体、共同体明显的新类型,还有typedef由已有类型复制"新"类型,事实上,它就是原来的类型。用它的好处是可以统一内部类型定义。 编译器内部typed...
2024年 3月 14日
2024年 3月 14日
2024年 3月 12日
为什么预处理条件编译不能解析sizeof表达式?
虽然sizeof表达式宣称是编译期常量,依然不能被条件编译处理,因为预处理根本无法解析稍微复杂的表达式,包括sizeof表达式。有人会说,既然sizeof都是常量,为何不让预处理也能使用呢?