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

    文章

    7605

    浏览量

    136948
  • 源文件
    +关注

    关注

    0

    文章

    30

    浏览量

    4596

原文标题:通俗易懂!Linux C模块化编程实例讲解

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入理解C语言:循环语句的应用与优化技巧

    程序设计中,我们常常需要重复执行某一段代码。为了提高效率和简化代码,循环语句应运而生。C语言作为一门经典的编程语言,提供了多种循环控制结构
    的头像 发表于 12-07 01:11 168次阅读
    深入理解<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 216次阅读
    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 347次阅读
    技术干货驿站 ▏深入理解<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 245次阅读

    单片机hex文件反编译成C语言的过程

    使用C语言编写,然后编译成机器码并烧录到单片机的存储器中。 Hex文件是一种用于存储单片机程序文件格式,它包含了
    的头像 发表于 09-02 10:49 3351次阅读

    hex文件怎么能转回去c语言

    将 .hex 文件直接“转回去”为原始的C语言代码是不可能的,因为 .hex 文件是编译后的二进制文件,它包含了机器码,这些机器码是处理器可
    的头像 发表于 09-02 10:46 2259次阅读

    hex文件如何查看原c语言代码

    直接将 .hex 文件转换回原始的 C 语言代码是不可能的,因为 .hex 文件是二进制文件,它包含了单片机
    的头像 发表于 09-02 10:37 2391次阅读

    可重复头文件的固定结构

    年轻人,你可曾记得,在修习C语言的时候,见过这样的字句:在创建头文件的时候,一定要加入保护宏。
    的头像 发表于 08-29 10:23 356次阅读
    可重复头<b class='flag-5'>文件</b>的固定<b class='flag-5'>结构</b>

    技术干货驿站 ▏深入理解C语言:掌握程序结构知识

    在计算机编程的世界中,C语言被广泛认可为一门强大而高效的编程语言,其简洁的语法和直接的指令使得它成为了许多程序员的首选。了解C
    的头像 发表于 07-27 08:45 1415次阅读
    技术干货驿站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:掌握<b class='flag-5'>程序结构</b>知识

    嵌入式中C语言结构体基本实现

    C语言中的数组只能允许程序员定义存储相同类型数据。但是结构C语言编程中允许您存储不同数据类型的
    的头像 发表于 05-11 08:49 1052次阅读
    嵌入式中<b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>结构</b>体基本实现

    嵌入式系统中C语言结构体的基础实现与应用

    C语言中的数组只能允许程序员定义存储相同类型数据。但是结构C语言编程中允许您存储不同数据类型的
    发表于 03-12 14:29 506次阅读
    嵌入式系统中<b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>结构</b>体的基础实现与应用

    C语言#define的应用

    C/C++ 编程语言中,当程序被编译时,被发送到编译器,编译器将程序转换为机器语言,然后完成
    发表于 03-06 11:29 385次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>#define的应用

    C语言中的头文件

    #include 指令会指示 C 预处理器浏览指定的文件作为输入。预处理器的输出包含了已经生成的输出,被引用文件生成的输出以及 #include 指令之后的文本输出。
    发表于 02-23 14:06 466次阅读

    支持CiA402驱动器配置文件的示例程序用于通过EtherCAT®通信进行电机控制

    电子发烧友网站提供《支持CiA402驱动器配置文件的示例程序用于通过EtherCAT®通信进行电机控制.pdf》资料免费下载
    发表于 02-21 14:21 2次下载
    支持CiA402驱动器配置<b class='flag-5'>文件</b>的示<b class='flag-5'>例程序</b>用于通过EtherCAT®通信进行电机控制

    plc编程语言c语言的联系 c语言和PLC有什么区别

    语言,主要用于开发各种应用程序。尽管PLC编程语言C语言有一些相似之处,但它们之间也存在一些明显的区别。 首先,PLC编程
    的头像 发表于 02-05 14:21 4170次阅读