C 标准库
C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。
C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。
C 标准库是一组 C 内置函数、常量和头文件,比如 、、,等等。这个标准库可以作为 C 程序员的参考手册。
对 C 语言有基本的了解将有助于您理解本标准库涵盖的 C 内置函数。
c标准库在系统文件夹中都能找到,以头文件的形式存放。linux在、usr/include目录下。
c语言三大标准
C90 标准
由于C语言被各大公司所使用(包括当时处于鼎盛时期的 IBM PC),因此到了 1989 年,C语言由美国国家标准协会(ANSI)进行了标准化,此时C语言又被称为 ANSI C(C89)。
而仅过一年,ANSI C 就被国际标准化组织 ISO 给采纳了。此时,C语言在 ISO 中有了一个官方名称——ISO/IEC 9899: 1990。其中:
9899 是C语言在 ISO 标准中的代号,像 C++ 在 ISO 标准中的代号是 14882;
而冒号后面的 1990 表示当前修订好的版本是在 1990 年发布的。
这个版本的C语言标准作为 K&R C 的一个超集(即 K&R C 是此标准C的一个子集),把后来引入的许多非官方特性也一起整合了进去。其中包括了从 C++ 借鉴的函数原型(Function Prototypes),指向 void 的指针,对国际字符集以及本地语言环境的支持。在此标准中,尽管已经将函数定义的方式改为现在我们常用的那种方式,不过K&R的语法形式仍然兼容。
例如gcc icc clang
gcc -std=c99 hello.c -o hello
icc -std=c99 hello.c -o hello
clang -std=c99 hello.c -o hello
-std=
enable language support for , as described below
c99 conforms to ISO/IEC 9899:1999 standard for C programs
c11 conforms to ISO/IEC 9899:2011 standard for C programs
c++11 enables C++11 support for C++ programs
c++14 enables C++14 support for C++ programs
c++17 enables C++17 support for C++ programs
c89 conforms to ISO/IEC 9899:1990 standard for C programs
gnu89 conforms to ISO C90 plus GNU extensions
gnu99 conforms to ISO C99 plus GNU extensions
gnu++98 conforms to 1998 ISO C++ standard plus GNU extensions
gnu++11 conforms to 2011 ISO C++ standard plus GNU extensions
gnu++14 conforms to 2014 ISO C++ standard plus GNU extensions