讀古今文學網 > C語言解惑 > 23.2 單文件結構 >

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部分聲明或定義。為了節省篇幅,很多例子都是使用這種模式。