23.2 单文件结构

【例23.3】编写一个具有两个参数的函数max,比较这两个参数的大小,并把大者和一个常量100相加,作为函数的返回值。将这个返回值和常量100相乘作为程序的输出。


#include <stdio.h>                    //1  
包含头文件
#define NUM  100                    //2  
宏定义NUM=100
int max
(int
,int
);                    //3  
函数max
的原型声明
int main
( 
)                    //4  
主函数
{                              //5  
主函数定义开始
     int a
,b
,x
;                    //6  
声明变量
     a=2
; b=3
;                    //7  
变量赋值
     x=NUM*max
( a
,b 
);               //8  
输出函数返回值与NUM
相乘
     printf
("%d\n"
,x
);               //9  
输出函数返回值与NUM
的乘积
     return 0
;                    //10
}                              //11
                              //12
int max
(int m1
, int m2
)               //13 
函数max
的定义
{                              //14
     if 
(m1 > m2 
) return m1+NUM
;          //15 
使用NUM
     else   return m2+NUM
;          //16 
使用NUM
}                              //17
  

假设将这个程序放在单个源文件c23_3.c中。语句1~语句2属于预处理的内容,语句3是主函数之外的所有函数的原型声明。这种单文件结构可以分为如下3部分。

第一部分:预处理命令

函数原型声明(如果有外部变量,也在这一部分声明或定义)

第2部分:主函数

第3部分:其他函数的定义

推广到更一般的情况:如果有外部变量,也在第1部分声明或定义。为了节省篇幅,很多例子都是使用这种模式。

《C语言解惑》