C语言有三套标准:
1. C89(ANSI C):发布于1989年,是C语言的第一个正式标准。主要添加了函数原型、 const 关键字等。常见的标准库函数大多来自C89。
2. C99:发布于1999年,比较重要的特性有:
– 新增bool、long long、complex等类型
– 新增变量声明在任意位置
– 新增行内注释 //
– 新增复合字面量语法,如 (struct point){x=1, y=2}
– 新增 限定类型修饰符,如restrict
– 新增可变参数宏 #define square(x) x*x
– 新增C标准库函数,如snprintf()例:
int sum(int a, int b) { int result; result = a + b; // 行内注释 return result; } int main() { long long big = 12345678910; // C99新类型 (struct point){x=1, y=2}; // C99新语法 printf("Hello %s!", "world"); // C99 snprintf }
3. C11:发布于2011年,新特性有:
– 支持Unicode字符集
– 新增_Static_assert静态断言
– 新增_Alignas对齐控制和_Alignof对齐查询
– 新增泛型类型特性_Generic
– 新增快速枚举enum class
– 新增_Noreturn函数属性
– 新增_Thread_local存储类修饰符例:
int add(int a, int b) { _Static_assert(sizeof(a) == sizeof(b), "types have different sizes!"); return a + b; } enum class Color {Red, Green, Blue}; // 快速枚举
所以C11比C99又进一步扩充了语言特性,有更丰富的类型和函数来支持现代编程。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录