c11是什么意思?

Python013

c11是什么意思?,第1张

C11标准是 ISO/IEC 9899:2011 - Information technology -- Programming languages -- C 的简称,曾用名为C1X。

C11标准是C语言标准的第三版,前一个标准版本是C99标准。2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC) 旗下的C语言标准委员会(ISO/IEC JTC1/SC22/WG14)正式发布了C11标准。

名词解释:

C11标准的最终定稿的草案是免费开放的,为N1570 [3]  ,但是正式标准文件需要198瑞士法郎。

当前,支持此标准的主流C语言编译器有:GCC、Clang、Intel C++ Compiler等。

对IEEE754标准-2008的半精度浮点数的支持。尽管遵循GNU C标准规范的编译器(GCC以及Clang等)使用了C扩展关键字__fp16,但是只能对半精度浮点数进行引用,而不能做任何算术操作。因此,这个特性应当在下一个C语言标准中立马加入进去的,建议使用_Half作为半精度浮点数类型的关键字。

C99 有 复数浮点类型,头文件:

#include <stdio.h>

#include <complex.h>

可用:

double complex z1 = 1.0 + 3.0 * I

double complex z2 = 1.0 - 4.0 * I

printf("Starting values: Z1 = %.2f + %.2fi\tZ2 = %.2f %+.2fi\n",

creal(z1), cimag(z1), creal(z2), cimag(z2))

可用:

double complex s;

s = z1 + z2

s = z1 * z2

s = z1 / z2

s = conj(z1)

MS VC++ 编译器 尚不支持 C99, (也无计划 去 支持C99).

学C/C++的时候 都是 自己定义 和写 复数。也不难。

C语言的标准就是定义任何一个支持该标准的C语言编译器必须支持的语法和必须提供的库。新的标准是在旧标准的基础上进行扩展,一般都是向后兼容的。

不过现在的编译器对C语言标准的支持不太积极(主要精力放在C++上面),比如VC++编译器只是部分支持了C99,所以新的C语言标准不太实用,你最好还是好好学习C89标准,现在的C语言教程一般都是以这个标准。