沪江社团 > C语言 > 帖子

C语言特色

jaybestwang (【腰果新视听】Jay)
火眼金睛|年度最6责编
初级粉丝
1 1 1
发表于:2015-01-29 04:59 [只看楼主] [划词开启]

特色

 C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。 C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。 不同的变量类型可以用结构体(struct)组合在一起。 只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。 部份的变量类型可以转换,例如整型和字符型变量。 通过指针(pointer),C语言可以容易的对存储器进行低级控制。 预编译处理(preprocessor)让C语言的编译更具有弹性。

 

C11新特性 

1、对齐处理(Alignment)的标准化(包括_Alignas标志符,alignof运算符,aligned_alloc函数以及头文件)。 

2、_Noreturn 函数标记,类似于 gcc 的 __attribute__(noreturn)。 

3、_Generic关键字。 

4、多线程(Multithreading)支持,包括:_Thread_local存储类型标识符,;头文件,里面包含了线程的创建和管理函数。 

5、增强的Unicode的支持,基于C Unicode技术报告ISO/IEC TR 19769:2004,增强了对Unicode的支持。包括为UTF-16/UTF-32编码增加了char16_t和char32_t数据类型,提供了包含unicode字符串转换函数的头文件

6、删除了 gets() 函数,使用一个新的更安全的函数gets_s()替代。 

7、增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s()等等。 

8、增加了更多浮点处理宏。

9、匿名结构体/联合体支持,这个在gcc早已存在,C11将其引入标准。

10、静态断言(Static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。 

11、新的 fopen()模式,(“…x”),类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。 12、新增 quick_exit()函数作为第三种终止程序的方式。当 exit()失败时可以做最少的清理工作。 13、_Atomic类型修饰符和头文件。

全部回复 (1)

  • 1

    点赞

  • 收藏

  • 扫一扫分享朋友圈

    二维码

  • 分享

课程推荐

需要先加入社团哦

编辑标签

最多可添加10个标签,不同标签用英文逗号分开

保存

编辑官方标签

最多可添加10个官方标签,不同标签用英文逗号分开

保存
知道了

复制到我的社团