刚看到一些关于linux下C编程的一些风格,有些与ANSI C不同,记录下来,以作以后参考:
1、linux C中可以使用变长数组,甚至0长度数组,这点与ANSI C有很大的不同。ANSI C数组长度只能使用常数,即便是const修饰的常量也不能使用。当然在C++中可以使用常量及变长数组
2、linux C中的switch中的case可以使用范围表示,如case '0'...'3':就相当于ANSI C中的case '0':case '1':case '2':case '3':
3、可以声明函数、变量和类型的特殊属性,声明方法:_ _attribute_ _((属性)),其中属性可以是noreturn,format,section,aligned,packed
4、在宏定义中经常使用do while(0)
本文概述了Linux环境下C编程的独特特性,包括变长数组、switch中的范围表示、特殊属性声明方法和宏定义中的使用技巧。
720

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



