吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言程序例程的文件結構

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:龔婷 ? 2018-03-14 10:32 ? 次閱讀

以往寫C語言程序都是一個文件里面寫個幾十、幾百行,在練算法的時候還可以,現在搞開發需要模塊化編程,所謂模塊化編程,就是指一個程序包含多個源文件(.c 文件和 .h 文件),每個 .c 文件可以被稱為一個模塊。

1、例程的文件結構

2、各文件代碼main.c 源碼:

#include #include "include/func.h"intmain()

{

intn1 = 1, n2 = 10;

printf("從%d加到%d的和為%ld\n", n1, n2, sum(n1, n2));

printf("從%d乘到%d的積為%ld\n", n1, n2, mult(n1, n2));

printf("OS:%s\n",OS);

printf("Power By %s(%s)", getWebName(), getWebURL());

return0;

}

math.c 源碼:

// 沒有使用到 func.h 中的函數聲明或宏定義,也可以不包含進來

#include "../include/func.h"

// 從 fromNum 加到 endNumlongsum(intfromNum, intendNum)

{

inti;

longresult = 0;

// 參數不符合規則,返回 -1

if(fromNum<0?|| endNum<0?|| endNum

{

return-1;

}

for(i=fromNum; i<=endNum; i++)

{

result += i;

}

// 返回大于等于0的值

returnresult;

}

// 從 fromNum 乘到 endNumlongmult(intfromNum, intendNum)

{

inti;

longresult = 1;

// 參數不符合規則,返回 -1

if(fromNum<0?|| endNum<0?|| endNum

{

return-1;

}

for(i=fromNum; i<=endNum; i++)

{

result *= i;

}

// 返回大于等于0的值

returnresult;

}

web.c 源碼:

// 使用到了 func.h 中的宏定義,必須包含進來,否則編譯錯誤

#include "../include/func.h"char* getWebName()

{

returnWEB_NAME;

}char* getWebURL()

{

returnWEB_URL;

}

func.h 源碼:

#ifndef _FUNC_H

#define _FUNC_H

// 用宏定義來代替全局變量

#define OS "Linux"

#define WEB_URL "http://www.baidu.com"

#define WEB_NAME "百度"

// 也可以省略 extern,不過為了程序可讀性,建議都寫上

externlongsum(int, int);

externlongmult(int, int);

externchar* getWebName();

externchar* getWebURL();

#endif

運行結果:

從1加到10的和為55從1乘到10的積為3628800OS:Linux

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137739
  • 源文件
    +關注

    關注

    0

    文章

    30

    瀏覽量

    4612

原文標題:通俗易懂!Linux C模塊化編程實例講解

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深入理解C語言:循環語句的應用與優化技巧

    程序設計中,我們常常需要重復執行某一段代碼。為了提高效率和簡化代碼,循環語句應運而生。C語言作為一門經典的編程語言,提供了多種循環控制結構
    的頭像 發表于 12-07 01:11 ?251次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:循環語句的應用與優化技巧

    AWTK-WEB 快速入門(1) - C 語言應用程序

    導讀AWTK可以使用相同的技術棧開發各種平臺的應用程序。有時我們需要使用Web界面與設備進行交互,本文介紹一下如何使用C語言開發AWTK-WEB應用程序。用AWTKDesigner新建
    的頭像 發表于 11-27 11:46 ?294次閱讀
    AWTK-WEB 快速入門(1) - <b class='flag-5'>C</b> <b class='flag-5'>語言</b>應用<b class='flag-5'>程序</b>

    技術干貨驛站 ▏深入理解C語言:掌握C語言條件判斷,從if到switch的應用

    語句和條件運算符。這些結構不僅增強了代碼的靈活性,還提高了程序的可讀性和可維護性。本文將深入探討C語言中的主要條件判斷語句,包括它們的語法、使用方法及實際應用,通過
    的頭像 發表于 11-09 01:10 ?434次閱讀
    技術干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b>條件判斷,從if到switch的應用

    C語言C++中結構體的區別

    同樣是結構體,看看在C語言C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?357次閱讀

    單片機hex文件反編譯成C語言的過程

    使用C語言編寫,然后編譯成機器碼并燒錄到單片機的存儲器中。 Hex文件是一種用于存儲單片機程序文件格式,它包含了
    的頭像 發表于 09-02 10:49 ?3853次閱讀

    hex文件怎么能轉回去c語言

    將 .hex 文件直接“轉回去”為原始的C語言代碼是不可能的,因為 .hex 文件是編譯后的二進制文件,它包含了機器碼,這些機器碼是處理器可
    的頭像 發表于 09-02 10:46 ?2581次閱讀

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機
    的頭像 發表于 09-02 10:37 ?2798次閱讀

    可重復頭文件的固定結構

    年輕人,你可曾記得,在修習C語言的時候,見過這樣的字句:在創建頭文件的時候,一定要加入保護宏。
    的頭像 發表于 08-29 10:23 ?405次閱讀
    可重復頭<b class='flag-5'>文件</b>的固定<b class='flag-5'>結構</b>

    技術干貨驛站 ▏深入理解C語言:掌握程序結構知識

    在計算機編程的世界中,C語言被廣泛認可為一門強大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C
    的頭像 發表于 07-27 08:45 ?1540次閱讀
    技術干貨驛站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:掌握<b class='flag-5'>程序結構</b>知識

    嵌入式中C語言結構體基本實現

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構C語言編程中允許您存儲不同數據類型的
    的頭像 發表于 05-11 08:49 ?1129次閱讀
    嵌入式中<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>結構</b>體基本實現

    C語言結構體史上最詳細的講解【軟件干貨】

    struct結構體數據類型 前言 我們知道,在C語言中有一些基本的數據類型,如?char?int?float?long?double?string(c99) 等等數據類型,他們可以表示
    的頭像 發表于 03-28 17:52 ?854次閱讀

    嵌入式系統中C語言結構體的基礎實現與應用

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構C語言編程中允許您存儲不同數據類型的
    發表于 03-12 14:29 ?561次閱讀
    嵌入式系統中<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>結構</b>體的基礎實現與應用

    C語言#define的應用

    C/C++ 編程語言中,當程序被編譯時,被發送到編譯器,編譯器將程序轉換為機器語言,然后完成
    發表于 03-06 11:29 ?429次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應用

    C語言中的頭文件

    #include 指令會指示 C 預處理器瀏覽指定的文件作為輸入。預處理器的輸出包含了已經生成的輸出,被引用文件生成的輸出以及 #include 指令之后的文本輸出。
    發表于 02-23 14:06 ?523次閱讀

    支持CiA402驅動器配置文件的示例程序用于通過EtherCAT?通信進行電機控制

    電子發燒友網站提供《支持CiA402驅動器配置文件的示例程序用于通過EtherCAT?通信進行電機控制.pdf》資料免費下載
    發表于 02-21 14:21 ?2次下載
    支持CiA402驅動器配置<b class='flag-5'>文件</b>的示<b class='flag-5'>例程序</b>用于通過EtherCAT?通信進行電機控制
    全讯网22335555| 崇礼县| 百利宫百家乐的玩法技巧和规则| 金海岸百家乐官网的玩法技巧和规则 | 网上百家乐娱乐场开户注册| 哈尔滨百家乐赌场| 联众百家乐官网的玩法技巧和规则 | 百家乐辅助器| 百家乐游戏平台排名| 中原百家乐官网的玩法技巧和规则 | 富易堂百家乐娱乐城| 百家乐娱乐城优惠| 百家乐娱乐备用网址| 太阳城百家乐手机投注| 娱乐百家乐官网可以代理吗| 真人百家乐官网博弈| 百家乐官网双龙出海注码法| 金域百家乐官网娱乐城| 任你博百家乐官网的玩法技巧和规则 | 大发888案件| 大发888娱乐场大发888娱乐场 | 百家乐官网心术| 百家乐官网真人赌场娱乐网规则| 博彩百家乐官网的玩法技巧和规则| 怎么赢百家乐官网的玩法技巧和规则 | 大发888手机游戏| 泽普县| 兴海县| 怎样玩百家乐官网看路| 申城棋牌2.0| 真人娱乐城排行榜| 境外赌博下| 百家乐官网打水策略| 爱拼百家乐官网现金网| 百家乐官网出千赌具| 百家乐官网注码技术打法| 百家乐游戏排行榜| 百家乐赌博娱乐| 百家乐园太阳| 德州扑克几副牌| 百家乐官网龙虎的投注法|