C语言的结构化编程

结构化程序设计方法

  自顶向下;逐步细化;模块化设计;结构化编码;

一、关于模块化编程的文件组织

  所谓模块,实质上就是一个.c文件和一个.h文件的结合。

  .c文件应该包含的内容:变量的定义与函数的实现;

  同时,每个.c文件都配有一个.h文件,头文件的名称与相应的模块名相同,.h”中是对于该模块接口的声明,它就是一份说明书,内容为:【extern变量声明】和【函数的声明】、【#define常数】、【结构体的定义】,其作用就是该模块对外部提供的接口函数或者接口变量,其内部不应该包含任何实质性的代码,我们可以将.h文件看成是.c文件的配置文件,而将.c文件理解为一个模块,也就是一个黑匣子。

   一般而言,需要为整个工程建立一个所有的文件都要共同使用的头文件main.h,当转换平台时,这是要进行修改的。里面包含一些全局宏定义和系统头文件,比如typedef unsigned char uint8_t#include <regs.h>

              C语言的结构化编程

 

二、.h文

#ifndef __FN_FILENAME_H



#define __FN_FILENAME_H

    

#include "xxx.h"

    

/******************Macro Define Section******************/

#define MAX_TIMER_OUT (4)



/******************Struct Define Section******************/

typedef struct studentTAG

{

    u16  ID;

    char *name;

}stu_st, *stu_pst;





/******************Global variables declaration******************/

extern int i;

    /******************Prototype Declare Section******************/

extern u16 GetScanTimes(void);

…… 

 

 

三、.c文件

/****************************Copyright(c)**********************************

**                               XXX.Ltd

**

**                    http://www.cnblogs.com/BitArt/ 

**

**------File Info-----------------------------------------------------

** File Name:                 xxx.c   

** Latest modified Date:      xxx-xx-xx  

** Latest Version:            1.0

** Description:                          

**

**--------------------------------------------------------------------------

** Created By:               xxx

** Created date:             - -

** Version:                  1.0

** Descriptions:

**

**--------------------------------------------------------------------------

** Modified by:

** Modified date:

** Version:

** Description:

**

    ***************************************************************************/

    

    /*=============  I N C L U D E S   =============*/

    #include "xxx.h"

    

      

    /*=============  D A T A  =============*/

    /*

    **  Variable Define Section

    **  (global variables)

    */

    

    unsigned int MD_guiHoldBreathStatus;

    

    /*

    **  Variable Define Section

    **  (File Static variables)

    */

    static unsigned int nuiNaviSysStatus;

    

    

    /*=============  C O D E  =============*/

    

    /*

    **  Function Prototype section

    **  (static-scoped functions)

    */

    static void    AddSegmentHdrNode(

          ADI_CONT_SEGMENT_HDR    *pSegmentListHdr,

          ADI_CONT_SEGMENT_HDR    *pSegmentListTempHdr

      );

    

    /*

    **  Function Definition section

    */

    

    

    

    /******************END FILE******************/

 

你可能感兴趣的:(C语言)