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

    文章

    7650

    浏览量

    146640
  • 函数
    +关注

    关注

    3

    文章

    4425

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

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

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

    C语言主要特点

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

    C语言C++的区别及联系

    缺点:性能比面向过程低。 二、具体语言上的区别 1、关键字的不同 C语言有32关键字;C++有63
    发表于 12-24 07:23

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

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

    单片机C语言编程的心得

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

    C语言程序的结构

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

    C语言特性

    1、高效性:直接操作硬件 C 语言代码的执行效率极高,这是其最为显著的优势之一。它能够直接访问硬件资源,与底层硬件进行紧密交互,充分发挥硬件的性能潜力。在嵌入式开发中,硬件资源往往十分有限,对程序
    发表于 11-24 07:01

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

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

    蜂鸟E203能够仿真运行C语言程序吗?

    我看那两本书里面都是说怎么在FPGA上运行C语言程序和Benchmark程序,它提供仿真器下如何编译运行C
    发表于 11-06 06:21

    第4章 C语言基础以及流水灯的实现(4.3 4.4)

    的符号分别是:+、-、*、/、%。 C语言有一很重要的赋值运算符“=”,前边程序有使用过。在C语言
    的头像 发表于 10-29 15:30 513次阅读

    nuclei studio生成的c语言文件是不支持c的语法吗?

    nuclei studio 生成的c语言文件感觉不支持c的语法,因为刚使用这个软件,还请各位大佬帮忙看看
    发表于 10-20 11:02

    运行自己编写的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