0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言程序文件的四个部分

汽车玩家 来源:趣味c语言 作者:趣味c语言 2020-05-05 20:06 次阅读

我曾跟大家讲过,为了使零基础的朋友们能够入门,我们一点一滴地去讲c语言的每一个知识点,咱们每天进步一点点,几个月后,你就会掌握c这门程序设计语言。

c语言程序文件内容大致可以分为四个部分——头文件的引用、类型定义、全局变量定义和宏定义、函数声明、函数的实现。这四个部分并不是必须全部存在的,需要根据实际需求来确定。比如我的c文件里用不到任何全局变量,那自然我就不需要定义全局变量。

C语言程序文件的四个部分

上图是一个c语言程序文件,其第1行到第3行是头文件的引用,第5行和第6行是变量定义,第7行是函数的声明。第9行到第25行是main函数和test函数的实现。

下面我们来认识一下函数。上图中我们对函数有了直观的认识,像main和test这样能实现某个或某些功能的代码段称为函数。我们把上图加上标注,看看函数由哪几部分组成。

C语言程序文件的四个部分

图上标注的是test函数的各个部分名称,朋友们能自己说出main函数的各个部分名称吗?

值得解释一下的是函数的参数。参数是可有可无的,参数个数也是不确定的,需要根据实际情况来确定要不要给函数设计参数和设计几个参数。不同参数之间用逗号分隔,像上图中的test函数就有两个参数,第1个参数是int型,第2个参数是char *型,而main函数没有参数,没有参数的情况参数位置用void表示。函数定义中的参数叫做形参,形参告诉我们调用它时传入几个参数,每个参数传入什么类型的数据。比如test函数的第一个参数是int型的,如果我们调用它时第一个参数传入的不是int型数据,那编译的时候编译器就会报错,也就是编译不通过。调用函数时传入的参数叫做实参,main函数调用test函数时传入的变量current_id和name_str都是实参。

那么test函数必须要被main函数调用吗?我们把我们想要的功能都在test函数里实现,不要main函数了行不行?这里告诉朋友们,那是绝对不行的。即使test函数里实现了所有我们想要的功能,也是需要被main函数直接或者间接调用的。我们所举例子中main函数是直接调用test函数的,那么什么是间接调用?比如test函数被另一个函数test1调用了,main函数调用了test1函数,也就间接调用了test函数。

为什么所有的函数都需要直接或者间接被main函数调用呢?没有为什么,就是这么规定的。c语言程序必须从main函数开始执行。也就是说,你编写的所有函数中,必须有个函数名字叫main。如果你想实现一个功能有两个选择,一是直接在main函数里实现你的功能,二是新定义一个函数来实现你的功能,然后用main函数调用这个函数。

怎么样?朋友们是不是对c语言的函数有点感觉了呢?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7605

    浏览量

    136984
  • 函数
    +关注

    关注

    3

    文章

    4333

    浏览量

    62684
收藏 人收藏

    评论

    相关推荐

    智谱推出四个全新端侧模型 携英特尔按下AI普及加速键

    ,GLM-Edge-4B-chat、GLM-Edge-1.5B-chat为端侧大语言模型,GLM-Edge-V-5B、GLM-Edge-V-2B为端侧多模态模型,这四个模型分别具有4.3B/1.5B
    的头像 发表于 12-02 17:13 214次阅读
    智谱推出<b class='flag-5'>四个</b>全新端侧模型 携英特尔按下AI普及加速键

    用PPS编译生成了一.h文件文件里头的接口段代码{44,28,0,0}这四个数字分别代表什么意思啊?

    VOLUME_control_names[] = { \"Volume_1\" }; 我想问的是{44,28,0,0}这四个数字分别代表什么意思啊?还请大家指教,不胜感激~!
    发表于 10-30 06:37

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

    的差异。 然而,如果你想要从 .hex 文件中获取一些有用的信息或者对程序进行分析,你可以采取以下步骤来尽可能接近原始的C语言逻辑: 反汇编 : 使用反汇编工具(如IDA Pro、Gh
    的头像 发表于 09-02 10:46 2271次阅读

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

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

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

    的HelloWorld程序开始,让我们深入探讨C语言程序构成和基本语法规则。一:C语言
    的头像 发表于 07-27 08:45 1424次阅读
    技术干货驿站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:掌握<b class='flag-5'>程序</b>结构知识

    IGBT的四个主要参数

    IGBT的四个主要参数对于选择合适的IGBT器件至关重要。本文将介绍IGBT的四个主要参数:电压等级、电流等级、开关频率和热性能。 1. 电压等级 电压等级是IGBT的一重要参数,它决定了IGBT能够承受的最大电压。电压等级的
    的头像 发表于 07-25 11:05 3715次阅读

    四个2输入异或门数据表

    电子发烧友网站提供《四个2输入异或门数据表.pdf》资料免费下载
    发表于 05-22 09:58 0次下载
    <b class='flag-5'>四个</b>2输入异或门数据表

    四个2输入正极和栅极数据表

    电子发烧友网站提供《四个2输入正极和栅极数据表.pdf》资料免费下载
    发表于 05-17 10:28 0次下载
    <b class='flag-5'>四个</b>2输入正极和栅极数据表

    四个2输入正极和栅极数据表

    电子发烧友网站提供《四个2输入正极和栅极数据表.pdf》资料免费下载
    发表于 05-16 10:22 0次下载
    <b class='flag-5'>四个</b>2输入正极和栅极数据表

    四个2输入异或门数据表

    电子发烧友网站提供《四个2输入异或门数据表.pdf》资料免费下载
    发表于 05-13 11:04 0次下载
    <b class='flag-5'>四个</b>2输入异或门数据表

    四个2输入正极和栅极数据表

    电子发烧友网站提供《四个2输入正极和栅极数据表.pdf》资料免费下载
    发表于 05-10 10:10 0次下载
    <b class='flag-5'>四个</b>2输入正极和栅极数据表

    半导体发展的四个时代

    台积电的 Suk Lee 发表了题为“摩尔定律和半导体行业的第四个时代”的主题演讲。Suk Lee表示,任何试图从半导体行业传奇而动荡的历史中发掘出一些意义的事情都会引起我的注意。正如台积电所解释
    发表于 03-27 16:17

    半导体发展的四个时代

    台积电的 Suk Lee 发表了题为“摩尔定律和半导体行业的第四个时代”的主题演讲。Suk Lee表示,任何试图从半导体行业传奇而动荡的历史中发掘出一些意义的事情都会引起我的注意。正如台积电所解释
    发表于 03-13 16:52

    XMC4700编译成功后仿真,提示没有程序文件是怎么回事?

    请问用DAVEXMC4700生成代码,编译成功后仿真,提示没有程序文件,连接了仿真器,这是怎么回事
    发表于 02-27 07:40

    四个引脚无源晶振的接线方法

    无源晶振是一种常用的被动元件,用于产生稳定的时钟信号。它通常有四个引脚,分别是VCC、GND、OUT和NC。
    的头像 发表于 01-23 18:15 6700次阅读