1 函数的声明与定义
1.1 声明的概念
声明:一般位于头文件,告知编译器这里有一个叫xxx(函数名)的函数,作用是让编译器知道这个函数的存在。总而言之声明的功能就是告诉编译器有这么个函数,但并不实现。
1.2 定义的概念
定义:用于实现这个函数,真正在内存(堆或栈中)为此函数分配空间。定义一般在源文件里,以函数体的形式展现函数的实现过程。
1.3 声明与定义
“定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参类型、函数体等,它是一个完整的、独立的函数单位。而“声明” 的作用则是把函数的名字、函数类型以及形参类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照检查(例如函数名是否正确,实参与形参的类型和个数是否一致)。
从程序中可以看到对函数的声明与函数定义中的函数首部基本上是相同的。因此可以简单地照写已定义的函数的首部,再加一个分号,就成为了对函数的“声明”。在函数声明中也可以不写形参名,而只写形参的类型。
在C语言中,使用函数原型是ANSI C的一个重要特点。它的作用主要是利用它在程序的编译阶段对调用函数的合法性进行全面检查。函数原型(function prototype)并不等于函数声明,只能说函数原型(function prototype)是函数声明的一种形式。
说明:
- 以前的C版