C Primer Plus(6) 中文版 第2章 C语言概述 2.6 多个函数

发布于:2023-01-21 ⋅ 阅读:(368) ⋅ 点赞:(0)

2.6 多个函数
如何把自己的函数加入程序中。
//* two_func.c -- a program using two functions in one file */
#include <stdio.h>
void butler(void);      /* ANSI/ISO C function prototyping */
int main(void)
{
    printf("I will summon the butler function.\n");
    butler();
    printf("Yes. Bring me some tea and writeable DVDs.\n");
    
    return 0;
}

void butler(void)       /* start of function definition */
{
    printf("You rang, sir?\n");

/* 输出:

*/

butler函数在程序中出现了3次。第1次是函数原型(prototype),告知编译器在程序中要使用该函数;第2次以函数调用(function call)的形式出现在main()中;最后一次出现在函数定义(function definition)中,函数定义即是函数本身的源代码。
C90标准增加了函数原型。函数原型是一种声明形式,告知编译器正在使用某函数,因此函数原型也被称为函数声明(function declaration)。函数原型还指明了函数的属性(包括函数的返回类型,参数类型)。butler参数中的单词void的意思是“空的”,而不是“无效”。
早期的C语言支持一种更简单的函数声明,只需指定返回类型,不用描述参数:
void bulter();
在main()中调用了bulter()很简单,写出函数名和圆括号即可。
bulter()函数的定义包含函数头和用花括号括起来的函数体。函数头重述了函数原型的信息:bulter()不带任何参数,且没有返回值。
和何时调用bulter()函数取决于它在main()中被调用的位置,而不是bulter()的定义在文件中的位置。记住,无论main()在程序文件中处于什么位置,所有的C程序都从main()开始执行。但是,C的惯例是把main()放在开头,因为它提供了程序的基本框架。
C标准建议,要为程序中用到的所有函数提供函数原型。标准include文件(包含文件)为标准库函数提供了函数原型。