一、程序细节
1.1 #include指令和头文件
1.1.1 #include指令
#include <stdion.h>
#include <stdio.h> 的作用相当于把stdio.h文件中的所有内容都输入到该行所在的位置。实际上,这是一种“拷贝-粘贴”的操作。
#include这行代码是C预处理指令(preprocessor directive)。通常,C编译器在编译的时候会对源代码做一些准备工作,即预处理(preprocessing)。
1.1.2 头文件
通常,在C程序顶部的信息集合被称为头文件(header),它帮助编译器把程序正确地组合在一起。
在大多数情况下,头文件包含了编译器创建最终可执行程序要用到的信息。例如,头文件中可以定义一些常量,或者指明函数名及如何使用它们,但是函数的实际代码在一个预编译代码的库文件中。
1.1.3 为何不内置输入输出
因为有些程序不需要输入和输出包,轻装上阵体现了C语言的哲学。
1.2 main() 函数
int main(void) ,最标准的写法
main() 函数是程序唯一的入口。
int是函数的返回值,main函数的返回值返回到操作系统。
老版的C语言可以这样写:
main() ,C90可以支持这种写法,但C99和C11都不支持。
还有这种写法:
void main() ,一写编译器允许这样,但所有的标准都没有认可这种写法。所以还是要使用最标准的写法。
1.3 注释
C语言最初的注释是/* …*/;C99新增了一种单行注释风格:// … 。
1.4 声明
标识符:一个变量、函数或其他实体的名称。
声明把特定的标识符与计算机内存的特定位置联系起来,同时也确定了储存在某位置的信息类型或数据类型。
1.5 函数原型
函数原型是一种声明形式,告知编译器正在使用某函数,因此函数原型也被称为函数声明。
早期的C语言可以不指定参数类型:
void func() ; , 但C90、C99、C11虽然承认这种写法,但都表示要淘汰,应该这样写:
void func(void) ;
C标准建议,要为程序中使用到的所有函数提供原型。