模塊化編程:
我們都看到別人寫的程序很工整、規范、可讀性很強,而且不是所有的程序、函數卸載一個main文件下面,整個工程下面都細分得很清楚,並且移植性高。
把程序或有獨立整體功能的函數模塊化成另外一個文件,然後統一管理,最終在main文件下#include"xxxx.h",然後有序調用。
下面就介紹怎麼把程序模塊化:
1. 我們先創建一個頭文件,命名為people.h,添加內容如下:
#ifndef __PEOPLE__H_ //預編譯頭文件ifndef =>if no define ,就是如果工程裡頭沒有定義這個都 //文件的意思,用__PEOPLE__H_常量判斷
#define __PEOPLE__H_ //如果沒有定義people.h這個頭文件,就可以定義,如果已經定義,則不再編 //譯這個頭文件
//函數聲明
char *run();
void say(char *str);
void eat(char str[]);
int calculate(int a, int b);
#endif//結束符
2.我們創建一個people.c文件,這個文件吧people.h,文件下的函數聲明進行實現,添加以下內容:
#include "people.h"
#include "app.h"
#include <string.h>
//函數實現
char *run()
{
discance = 100;//改變extern的值,就是改變定義這個extern 變量的值
char *ch="he has runned about ";
return ch;
}
void say(char *str)
{
printf("我說");
while (*str!=NULL)
{
printf("%c",*(str++));
}
printf("\n");
}
void eat(char str[])
{
char *p = str;
printf("我正在吃");
while (*p!=NULL)
{
printf("%c",*(p++));
}
printf("\n");
}
int calculate(int a, int b)
{
int sum;
sum = a*b;
return sum;
}
3.這樣就完成了一對C(源文件)和H(頭文件)的映射。
接下來,我們看看extern的使用,我們創建一個頭文件app.h,添加內容如下:
#include <stdio.h>
extern int discance;//在這裡只能夠聲明,不能夠初始化,否則會錯誤
4.最後我們就寫最熟悉的main文件了:
#include "app.h"
#include "people.h"
//再次定義,並且初始化,證明這個外部變量是數據當前文件下的,
//外部只要引入app.h則可以使用sum,改變sum的數值,
//則相當於改變當前文件下的值
int discance = 0;
void main()
{
char *p;
printf("歡迎學習模塊化編程\n");
eat("meat");
say("hello world");
p = run();
while(*p != NULL)
{
printf("%c",*(p++));
}
printf("%d meter !\n",discance);
}
這樣就完成了簡單的模塊化編程,看不懂沒關系,大家可以下載源文件,在VC上運行,有C語言版的,也有C++版的,大家可以進行比較一下哦。
本文出自 “我是車手-MyWay” 博客,請務必保留此出處http://dragonyeah.blog.51cto.com/7022634/1285921