美文网首页
c语言标准

c语言标准

作者: 小王子_f27a | 来源:发表于2018-03-30 22:49 被阅读0次

四种标准

  • k&RC (1978)
  • C89 (1989)
  • C99 (1999)
  • C11 (2011)

k&RC 主要特色

  • 结构(struct)类型
  • 长整数(long int)类型
  • 无符号整数(unsigned int)类型
  • 将 =+ 、=- 改成 += 、-=

ANSI C 和ISO C

C 的 第一个标准是由ANSI 发布的。

C89与ANSI C 的区别

  • 增加真正的标准库
  • 新的预处理命令与特性
  • 函数原型允许在函数申明中指定参数类型
  • 一些新的关键字,包括 const、volatile 与 signed 宽字符、宽字符串与字节多字符
  • 对约定规则、声明和类型检查的许多小改动与澄清

C99 与C89的区别

  • 支持不定长的数组,即数组长度可以在运行时决定
  • 变量声明不必放在语句块的开头,for 语句提倡写成 for(int i=0;i<100;++i) 的形式,即i 只在 for 语句块内部有效
  • 初始化结构的时候允许对特定的元素赋值
  • 允许编译器化简非常数的表达式、
  • 取消了函数返回类型默认为 int 的规定

C11 与C99 的区别

  • 对齐处理 :
    alignof(T)返回T的对齐方式,aligned_alloc()以指定字节和对齐方式分配内存,头文件<stdalign.h>定义了这些内容
  • _ Noreturn :_ Noreturn是个函数修饰符,位置在函数返回类型的前面,声明函数无返回值,有点类似于gcc的attribute((noreturn)),后者在声明语句尾部。
  • _Generic:
    _Generic支持轻量级范型编程,可以把一组具有不同类型而却有相同功能的函数抽象为一个接口。
  • _Static_assert():
    _Static_assert(),静态断言,在编译时刻进行,断言表达式必须是在编译时期可以计算的表达式,而普通的assert()在运行时刻断言。
  • 安全版本的几个函数:
    gets_s()取代了gets(),原因是后者这个I/O函数的实际缓冲区大小不确定,以至于发生常见的缓冲区溢出攻击,类似的函数还有其它的。
  • fopen()新模式:fopen()增加了新的创建、打开模式“x”,在文件锁中比较常用。
  • 匿名结构体、联合体。
  • 多线程:头文件<threads.h>定义了创建和管理线程的函数,新的存储类修饰符_Thread_local限定了变量不能在多线程之间共享
  • _Atomic类型修饰符和头文件<stdatomic.h>
  • 改进的Unicode支持和头文件<uchar.h>
  • quick_exit():
    又一种终止程序的方式,当exit()失败时用以终止程序
  • 复数宏,浮点数宏
  • time.h新增timespec结构体,时间单位为纳秒,原来的timeval结构体时间单位为毫秒。

相关文章

  • 单片机学习笔记5-C51语言与标准C语言的比较

    C51语言基本语法与标准C相同,是在标准C的基础上进行适合8051内核单片机硬件的扩展。 C51语言与标准C语言一...

  • c语言标准

    四种标准 k&RC (1978) C89 (1989) C99 (1999) C11 (2011) k&RC 主要...

  • C语言的布尔值?

    在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。 或者 C语言标准(C99)解决了...

  • C语言的原子操作

    C语言原子操作是在C11(C11:标准是C语言标准的第三版,前一个标准版本是[C99]标准)引入的,定义在头文件 ...

  • C语言002——简单解释

    C语言002——简单解释 C语言标准 为了让编写的C语言程序可以在多种平台上编译使用,必须要遵循一定的标准。在C语...

  • C语言知识点

    第一部分:C语言知识点 1. C语言的官方标准 ANSI C / C89标准:1989年,美国国家标准协会(ANS...

  • 新手怎么在Linux系统上用c语言编程

    从课程目录来看,课程包含两部分:标准C语言编程和Linux系统编程。C语言编程使用C语言标准库;Linux系统编程...

  • web开发必备常识

    W3C标准 w3c标准是一系列标准的集合。包括以下几个部分: 结构标准语言(Structure): 可扩展标记语言...

  • 网页布局基础

    W3C标准 结构化标准语言HTML/XML 表现标准语言CSS 行为标准语言DOM/JavaScript 盒子模型...

  • windows下的c语言和linux 下的c语言以及C标准库和系

    windows下的c语言和linux 下的c语言以及C标准库和系统API 1.引出我们的问题? 标准c库都是一样的...

网友评论

      本文标题:c语言标准

      本文链接:https://www.haomeiwen.com/subject/cyewcftx.html