《C语言系统编程相关知识汇总》
在系统编程领域,C语言凭借其高效性和对底层的强大控制能力,一直占据着重要地位。本文将围绕C语言系统编程中的一些关键知识点展开,包括GCC扩展、文件操作、内存管理、进程与线程等方面。
GCC扩展特性
在GCC中,有一些实用的扩展特性。
范围 case 语句
GCC支持范围 case 语句,例如:
switch (val) {
case 1 ... 10:
/* ... */
break;
case 11 ... 20:
/* ... */
break;
default:
/* ... */
}
这种语法在处理ASCII字符范围时也非常有用,如 case 'A' ... 'Z': 。需要注意的是,省略号前后要留空格,否则编译器可能会产生混淆,比如要写成 case 4 ... 8: ,而不是 case 4...8: 。
空指针和函数指针算术运算
在GCC里,允许对 void 类型指针和函数指针进行加减运算。通常,ISO C不允许这样做,因为“ void ”的大小概念不明确,其大小取决于指针实际指向的对象。为了实现这种算术运算,GCC将引用对象的大小视为1字节。例如:
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



