C语言模块化编程的例子
生活随笔
收集整理的這篇文章主要介紹了
C语言模块化编程的例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以往寫C語言程序都是一個文件里面寫個幾十、幾百行,在練算法的時候還可以,現在搞開發需要模塊化編程,所謂模塊化編程,就是指一個程序包含多個源文件(.c 文件和 .h 文件),每個 .c 文件可以被稱為一個模塊。
1、例程的文件結構
2、各文件代碼
main.c 源碼:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
math.c 源碼:
// 沒有使用到 func.h 中的函數聲明或宏定義,也可以不包含進來 #include "../include/func.h" // 從 fromNum 加到 endNum long sum(int fromNum, int endNum) {int i;long result = 0; // 參數不符合規則,返回 -1if(fromNum<0 || endNum<0 || endNum<fromNum){return -1;}for(i=fromNum; i<=endNum; i++){result += i;} // 返回大于等于0的值return result; } // 從 fromNum 乘到 endNum long mult(int fromNum, int endNum) {int i;long result = 1; // 參數不符合規則,返回 -1if(fromNum<0 || endNum<0 || endNum<fromNum){return -1;}for(i=fromNum; i<=endNum; i++){result *= i;} // 返回大于等于0的值return result; }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
web.c 源碼:
// 使用到了 func.h 中的宏定義,必須包含進來,否則編譯錯誤 #include "../include/func.h" char* getWebName() {return WEB_NAME; } char* getWebURL() {return WEB_URL; }- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
func.h 源碼:
#ifndef _FUNC_H #define _FUNC_H // 用宏定義來代替全局變量 #define OS "Linux" #define WEB_URL "http://www.baidu.com" #define WEB_NAME "百度" // 也可以省略 extern,不過為了程序可讀性,建議都寫上 extern long sum(int, int); extern long mult(int, int); extern char* getWebName(); extern char* getWebURL(); #endif- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
運行結果:
從1加到10的和為55
從1乘到10的積為3628800
OS:Linux
Power By 百度(http://www.baidu.com)
總結
以上是生活随笔為你收集整理的C语言模块化编程的例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 虚基类_重拾C++之虚函数和虚
- 下一篇: chimerge算法matlab实现,有