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

    文章

    7642

    浏览量

    144571
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言程序的结构

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

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

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

    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 1124次阅读
    PLC产品故障问题测试的<b class='flag-5'>四个</b><b class='flag-5'>部分</b>

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

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

    C语言的历史及程序介绍

    电子发烧友网站提供《C语言的历史及程序介绍.pdf》资料免费下载
    发表于 04-09 16:10 0次下载

    如何在 树莓派 上编写和运行 C 语言程序

    在本教程中,我将讨论C编程语言是什么,C编程的用途,以及如何在RaspberryPi上编写和运行C程序。本文的目的是为您介绍在Raspber
    的头像 发表于 03-25 09:28 934次阅读
    如何在 树莓派 上编写和运行 <b class='flag-5'>C</b> <b class='flag-5'>语言</b><b class='flag-5'>程序</b>?

    全套C语言培训资料—PPT课件

    与共用体、位运算、文件 全套C语言培训资料,共427页,13章节:C语言概述、
    发表于 03-12 14:50

    ADS1211获取四个通道全部数据的最短时间是多少?

    看pdf没看出什么门道,想问下这款ADC四个差分通道同步采样,获取四个通道全部数据的最短时间是多少!
    发表于 02-10 07:24

    模数转换电路的四个过程

    模数转换(Analog-to-Digital Conversion,简称ADC)是将模拟信号转换为数字信号的关键过程,广泛应用于通信、数据采集、信号处理等领域。模数转换电路的设计与实现涉及多个关键步骤,通常可以分为四个主要过程:采样、保持、量化和编码。本文将详细分析这四个
    的头像 发表于 02-03 16:12 2342次阅读

    请问DAC3484四个通道能否独立使用?

    请问,DAC3484 四个通道能否独立使用?即当把DAC的NCO频率设置为fs/2时,IQ两通道是否就可以独立了?
    发表于 01-23 07:35

    请问AD9852四个输出口有什么差别?

    AD9852四个输出口有什么差别?是不是IOUT1是余弦输出,IOUT2是DAC控制输出,需要设置DAC控制寄存器?
    发表于 01-16 06:59