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语言
    +关注

    关注

    183

    文章

    7646

    浏览量

    146126
  • 函数
    +关注

    关注

    3

    文章

    4421

    浏览量

    67826
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    USB RFID读写器的四个常见应用

    任何需要小型、低成本读卡器的应用,都值得考虑USB RFID读写器。USB读写器具备大部分大型同类的基本功能,只是功率稍低一些。如果你有一款非常适合RFID的应用,但又想控制预算,可以看看斯科的USB桌面读写器。为了让你了解USB读写器的功能,我在下面列出了四个常见应用。
    的头像 发表于 04-13 14:51 629次阅读

    PCBA生产过程的四个主要环节?

    PCBA生产过程的四个主要环节 PCBA(Printed Circuit Board Assembly)生产过程是将电子元器件组装到印刷电路板(PCB)上,形成完整电子产品的过程。虽然直接参考资料
    的头像 发表于 03-05 11:13 394次阅读

    固态断路器采用SiC JFET的四个理由

    性能。我们已介绍过浪涌电流、应对不断攀升的电力需求、为什么要使用固态断路器。本文为系列教程的第二部分,将介绍SSCB 采用 SiC JFET 的四个理由。
    的头像 发表于 01-16 15:45 1.4w次阅读
    固态断路器采用SiC JFET的<b class='flag-5'>四个</b>理由

    C语言主要特点

    C语言的主要特点有: 1.语言简洁、紧凑,使用方便、灵活 。C语言一共只有32关键字、9种控制
    发表于 01-05 07:41

    合科泰MOSFET选型的四个核心步骤

    面对数据手册中繁杂的参数,如何快速锁定适合应用的 MOSFET?遵循以下四个核心步骤,您能系统化地完成选型,避免因关键参数遗漏导致的设计风险。
    的头像 发表于 12-19 10:33 907次阅读

    单片机C语言编程的心得

    的相关程序放在一C程序文档中,称之为一模块,对应的文件名即为模块名。一
    发表于 12-08 07:44

    C语言程序的结构

    ,87LPC764有4KB的Flash ROM,而笔者的程序量只有2KB多点,因而第一想法是改用C语言作为主要的开发语言,应该不至于导致代
    发表于 11-26 08:12

    C语言和单片机C语言有什么差异

    单片机c语言相对于普通C语言增加了一些基本的指令,还有变量的赋值是16进制,当然单片机c语言只牵
    发表于 11-14 07:55

    运行自己编写的C语言项目的E203软件仿真环境的搭建

    ”修改成我们的项目名mywork。 2、修改main.c函数的内容,将我们的应用程序文件放入该目录下。 3、运行 make dasm 该命令将生成mywork.dasm、mywork.dump
    发表于 10-20 06:44

    C语言精彩编程百例-364页

    内容提要 C是一种通用的程序设计语言,它包含了紧凑的表达式、丰富的运算符集合、现代控制流以及数据结构等四个部分C
    发表于 06-13 17:28

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    电子发烧友网为你提供()用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA相关产品参数、数据手册,更有用于频 GSM
    发表于 05-28 18:31
    用于<b class='flag-5'>四</b>频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四个</b>线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    PLC产品故障问题测试的四个部分

    ,必须对故障问题进行系统化测试。本文将详细介绍PLC产品故障问题测试的四个关键部分,帮助技术人员快速定位和解决问题。 一、硬件测试 硬件测试是PLC故障诊断的首要环节,主要针对PLC设备的物理部件进行检查。首先,需要检查电源模块是否
    的头像 发表于 05-11 17:00 2131次阅读
    PLC产品故障问题测试的<b class='flag-5'>四个</b><b class='flag-5'>部分</b>

    深入理解C语言C语言循环控制

    C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C
    的头像 发表于 04-29 18:49 2209次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制