C 编程/语言重载和扩展
外观
大多数 C 编译器对标准 C 语言有一个或多个“扩展”,用于执行在标准可移植 C 中难以执行的操作。
语言扩展的一些示例
- 内联汇编语言
- 中断服务例程
- 可变长度数据结构(其最后一项是“零长度数组”)。[1]
- 可调整大小的多维数组
- 各种“#pragma”设置,用于快速编译、生成快速代码或生成紧凑代码。
- 位操作,特别是位旋转和涉及“进位”位的操作
- 存储对齐
- 长度在运行时计算的数组。
- ↑ comp.lang.c 常见问题解答列表:问题 2.6: “C99 引入了灵活数组成员的概念,它允许在结构体中省略数组的大小,只要它是结构体的最后一个成员,从而提供了一个定义明确的解决方案。”