C语言(函数)

ubuntu 20.04系统离线安装nfs ubuntu环境下,离线安装nfs 阅读详情

五、函数

1. 降低程序的耦合性(关联度),减少重复代码
2. 让程序模块化,增强代码的复用性。

1. 函数定义

函数的具体实现:

返回值 函数名(形参表)

{

       函数体;

}

返回值:类型说明符:int、char、....等基本数据类型、构造数据类型、void

              返回函数最终结果

              void:空类型,当函数执行完,不再需要有任何结果返回时,可以使用void类型的返回值

函数名: 标识符,遵循标识符的命名规则(尽量 见名知意)

形参表:函数执行过程中需要用到的条件

              形式:

              数据类型 形参名,数据类型 形参名...........

              int a[]; int len;

2. 函数的调用

函数名(实参表)

实参表:传递给函数的具体的条件

1.实参和形参的个数必须一致

2.实参和形参数据类型要一致,或者要相兼容

123----------->int/char

3.实参和形参名字可以相同,也可以不相同

4.函数不被调用则不执行,调用几次执行几次

函数名(实参表);-------->表达式的结果是函数的返回值类型

当函数的返回值有一个明确的返回类型时,必须要return,否则系统会返回一个随机值。

void返回值类型时,不用写return  要不就直接写return即可

主调函数:调用函数的函数称为主调函数(main)
被调函数:被调用的函数

3. 函数的声明

声明:
1. 当被调函数定义在了主调函数的后边,编译器报“implicit declaration”, 可以将该该函数在主调函
数前边进行声明。
2. 多文件使用函数的时候,需要对其声明,允许被其他文件调用
语法:
         返回值 函数名(形参表);

4. 函数的调用过程

函数在调用的时候存在保护现场和恢复现场的操作:

保护现场:当函数要被调用的时候,会将函数调用位置的下一条指令地址保存在栈空间;
恢复现场:当被调函数执行完时,通过出栈保护现场的地址,决定cpu继续执行的位置在函数被调用的
下一条指令位置。

5. 函数的传参

1. 函数传参过程,其实是实参向形参拷贝的过程,实参有实参的空间,形参有形参的空间(值传
递)。
2. 值传递:在被调函数中,无法修改主调函数中的变量。
3. 函数传参的顺序:自右向左。
练习:

6. 函数的递归调用

递归调用:函数直接或者间接的调用自己
本质:循环方式
注意: 1. 递归要有递归的出口,否则会成为死循环。
2. 递归调用系统开销比循环大(比如:栈内存)。
练习:
 求斐波那契数列的第n项
1,1,2,3,5,8,13.......

7.函数与一维整形数组

传参方式:
定义:
返回值 函数名(int 数组名[], int len)
{
// sizeof(数组名); ----》sizeof(int *) ---->8字节
//外面数组怎么使用,函数内数组就怎么使用
}
调用:
函数名(数组名, 数组长度);
void print_array(int a[], int len)
{
}
print_array(a, len);
数组的数组名是数组的首元素地址。
注意:
1. 数组作为函数参数传递时,形参必须要是数组类型:int a[], []中的常量可以有,也可以省略。
2. 数组作为函数参数传递时,本质传递的是数组的首元素地址,所以形参本质是一个地址,是数组的
起始地址。
3. 由于数组名传参本质传递的是首地址,所以必须要传递整形数组的长度。
4. 数组作为函数参数传递给被调函数后,函数内部的使用方法和外面使用一样,除了sizeof(数组
名);

Node-RED系列(二二):使用dashboard搭配echarts制作漂亮的面板 在node-red中dashboard 是一个很常用的模块,其中它有一个chart节点可以用来制作一些图表,比如柱状图,折线图,饼图,但其中的图表并不是很美观,而且可配置项非常的少。 于是就有很多小伙伴找我做一套比较好看的图表面板,在对比了一下几个图表库,我选中了echarts。 不仅美观大方,而且非常容易集成,配置。下面先来看一下我做的效果。这里是直接做了四个折线图,第一个折线图有动态效果,第二个折线图是一个多线条的折线图,第三个折线图是在一个图例显示两个折线图。第二第三都可以用于数据对比。 第四个折线 阅读详情

相关推荐

AXI总线的Burst Type以及地址计算 | WRAP到底是怎么一回事?

AXI总线的transaction是burst-based的,因此有必要好好研究一下不同burst type的工作原理。此处略过burst的定义以及burst size、burst length等信号的介绍。

qiuzhongyu123的博客 2万+

C语言函数

函数的概念 每个C程序都至少有一个函数,即主函数main(),如果程序的任务比较简单,全部的代码都写在main()函数中,但是,在实际开发中,程序的任务往往比较复杂,如果全部的代码都写在main()函数中,main()函数将非常庞大臃肿,结构复杂,代码重复。 我们可以根据程序的逻辑和任务的分工把代码划分到不同的自定义函数中,main()更关心业务逻辑和处理...

C语言技术网-码农有道 5万+

关于【中孚计算机终端保密检查系统】的卸载

卸载中孚计算机终端保密检查系统

码农之路,向死而生 4万+

【C语言函数基础】

文章目录1.函数2.C语言函数分类2.1 库函数2.1.1 库函数的分类2.1.1 库函数的学习2.2 自定义函数3.函数的参数3.1 实际参数3.2 形式参数4.函数的调用4.1 传值调用4.2 传址调用5.函数的声明和定义 1.函数 百度百科对函数的定义:子程序 在计算机科学中,子程序是一个大型程序中的某部分代码,有一个或者多个语句块组成,它负责完成某项特定的任务,而且相比于其他的代码,具备相对的独立性。 一般来说会有输入参数和返回值,提供对过程的封装和细节的隐藏,这些代码通常被集成为软件库。 2.

qq_43727529的博客 4973

如何下载安装Qt各个版本?(2025-4-28更新)

本文将教您快速获取Qt各版本安装包!妈妈再也不用担心我找不到Qt安装包了!

程序区 5119

AI智算-K8s+vLLM & Ray:DeepSeek-r1 671B 满血版分布式推理部署实践

自从上次发布 【AI-智算】K8s+SGLang实战:DeepSeek-r1:671b满血版多机多卡私有化部署全攻略] 文章后,本次将演示另一个主流推理引擎工具——vLLM,结合K8s、LWS、Ray、Volcano等技术栈,部署DeepSeek-r1 671b 满血版分布式推理集群,并对比其与SGLang推理引擎的性能表现。

Kason_iWiki 1825

什么是c语言函数,C语言中的函数是什么意思

C语言中的函数是什么意思简单来说函数就是c语言的模块,一块块的,有较强的独立性,但是可以相互调用。这是c和c++区分的地方,c++面向对象,对象独立完成功能,无需调用。一个c程序就可以是一个函数,里面再包含n个函数。【延展】C语言中函数和函数体的区别是什么?第一、 简单来说函数就是c语言的模块,一块块的,有较强的独立性,但是可以相互调用。一个c程序就可以是一个函数,里面再包含n个函数,有固定输入和...

weixin_39986543的博客 6503

手把手教您国内安装 Claude Code 并配置自定义大模型(包含New-API中转和可视化管理工具的使用)

国内免魔法畅用 Claude Code!手把手教你 Windows 安装、配置文件写法、对接阿里百炼 / DeepSeek / 智谱✨,附完整参数、正确命令、三方工具管理方案,新手一次成功!✅

XiaoqiangClub的博客 3783

C语言——函数

C语言中的函数又常常被称为子程序,是用来完成某项特定的工作的一段代码。就像我们生活中的模块化建造技术,类比模块化建房子的过程:整个程序好比最终要建成的房子,而函数所代表的就是每部分模块(如第一层,第二层或者屋顶···),将这些模块灵活的拼接,就搭建成了最后的房子。从函数的定义角度:我们可以把函数分为库函数和自定义函数是由用户根据需要自行编写的函数,创建格式如下:ret_typename形式参数函数体(用来描述函数执行过程的部分)创建例子:int决定了z的返回类型是整形int。

tan_run的博客 2088

【unity实战】随机地下城生成3——设置人物移动脚本、动画的切换和摄像机的跟随(含源码)

给房间添加触发器碰撞体,用来判断角色是否进入房间切割人物图片,注意人物每个图片高度可能不同,所有我们需要把轴心调整到人物的底部把人物跑步图片的高度,统一调成20,下面镂空,达到跳跃的效果快速创造人物动画,以人物idle为例,我们选中所有的idle人物图片,拖拽至窗口,unity就会自动生成,并提示保存动画位置别忘记设置人物排序图层,运行人物就动起来了新增run动画设置人物碰撞体设置刚体将重力设置为0,持续人物移动和动画切换的代码设置摄像机跟随单例代码在room中调用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1052

前拉后推计划逻辑适用于哪些行业和企业规模?

《前拉后推计划逻辑的行业适用性分析》摘要:前拉后推计划逻辑(需求端后推锚定交付、供应端前拉匹配资源)最适用于需求波动大且具规模效益的行业,包括家具制造(定制化需求+批量运输)、机械装备(非标设备+部件采购)、消费电子(短周期产品+核心部件备货)及汽车配套(交期绑定+批量生产)等领域。该模式要求企业具备:1)独立计划部门;2)ERP/MES等信息系统;3)资源冗余能力,故更适配中型(1-10亿营收)和大型企业(10亿+)。小型企业需简化应用,仅聚焦关键环节。不适配需求稳定(如快消品)、无规模效益或短周期生产的

追随内心 144

C语言main函数的写法

main函数是C程序的入口函数,即程序的执行是从main函数开始,对其他函数的调动也是直接或间接地在main函数中被调用。那么main函数又是被谁调用呢?答案是操作系统。C语言发展至今,对main函数有多种不同的写法,下面就来探究一下各种不同的写法。注:测试环境为Ubuntu 17.10,GCC版本为7.2.0。 NO.1 main(){}例: #include mai

αlphαβet 5万+

Mac mini M2 部署 OpenClaw:最稳 7×24 本地 AI 服务器

Mac mini M2 凭借其强大的 M2 芯片、低功耗和静音特性,成为部署 OpenClaw AI 服务器的理想平台。本文详细介绍了从系统配置到 OpenClaw 部署的全过程,包括 Docker 环境搭建、docker-compose 编排、性能优化方案以及开机自启设置。通过统一内存架构和高效 SSD,M2 版 Mac mini 在 AI 推理速度上显著优于前代产品,同时保持极低的功耗(仅 8W),适合 7×24 小时稳定运行。部署方案充分利用了容器化技术,确保了服务的可靠性和可维护性。

一键难忘的博客 2954

【C语言】函数

文章摘要: 本文系统讲解了C语言函数的核心知识,包括函数的概念、组成要素和使用方法。重点介绍了库函数(如sqrt)和自定义函数的定义与调用,强调形参实参的区别及return语句的使用规范。通过加法函数等代码示例,展示了函数在代码复用和模块化设计中的优势。文章还提及数组作为函数参数的应用场景,帮助读者全面掌握C语言函数编程技巧。

2301_78257800的博客 1735

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

c语言——函数

库函数很重要但在c语言中更重要的是自定义函数,有了自定义函数我们才能写出不一样的代码,让我们更具有创造性。我们可以把函数想象成小型的⼀个加工厂,工厂得输入原材料,经过工厂加工才能生产出产品,那函数也是一样的,函数⼀般会输入一些值,这些值也就是参数(可以是0个,也可以是多个),经过函数内的计算,得出结果。在以上某年某月有多少天的程序中就实现了函数的定义与调用如果将自定义函数放在main函数后会发生什么呢?这时我们就会看到以下警告出现这种情况的原因是。

mljy.博客 1912

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C语言:函数

仅仅是利用编译器提供给我们的头文件中的函数是远远不够我们利用来编写更高效的C程序的。人的头脑是有无限潜力的,我们可以想出很多可以由我们来定义的函数,编译器允许我们定义自定义函数。这样,就可以使我们的C程序的效率提高好几个档次。形式如下:ret_type fun_name(形式参数)代码;//ret_type是函数返回类型//fun_name是函数名//括号中放的是形式参数//{}括起来的是函数体我们可以把函数想象成小型的一个加工厂。工厂得输入原材料,经过工厂加工才能生产出产品。

2302_80177865的博客 1736

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C语言的函数

C语言~

2403_88316985的博客 1857

函数c语言_C语言函数习题及答案

点击蓝字关注我们FOLLOW US1.这下面程序的正确运行结果是(C)。void fun(int s[],int n1,int n2){ int i,j,t; i=n1; j=n2; while (i { t=s[i];s[i]=s[j]; s[j]=t; i++;j--; }}int main(){int a[10]={1,...

weixin_42355387的博客 7441

C语言——函数详解

C语言函数详解

sinzz的博客 2494

c语言max函数是什么,什么是C语言函数

什么是C语言函数int max(a,b)int a,b;{if (a>b) return a;else return b;}第一行说明max函数是一个整型函数,其返回的函数值是一个整数。形参为a,b。第二行说明a,b均为整型量。 a,b 的具体值是由主调函数在调用时传送过来的。在{}中的函数体内, 除形参外没有使用其它变量,因此只有语句而没有变量类型说明。 上边这种定义方法称为“传统格式”。...

weixin_32585497的博客 3万+

c语言函数

C语言函数 一、函数的概念 二、函数的结构 三、函数的参数 四、自定义函数 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录C语言函数一、函数的概念二、函数的结构三、函数的参数四、自定义函数一、函数的概念?二、函数结构三、函数参数四、自定义函数 一、函数的概念? 函数是用来模块化构建程序的。如果你的功能少,你可以全都写在mian函数中,但是当实现功能多的时候,如果全写在main的函数里,不仅代码不美观,而且函数实现的时候结构复杂,代码重复。 一般来说,我们会把具体实现写在自

chenshida_的博客 5679

C语言之函数总结

前言 函数是C语言的基本组成单元,充分发挥函数功能,可以使程序容易编写、阅读、调试和修改。本文是对函数的总结。 一、什么是函数?为什么要用函数? 1、函数是完成特定任务的独立程序代码单元。 2、使用函数的原因: (1)使用函数可以省去编写重复代码的苦差事 (2)及时程序只完成某项任务一次,也值得使用函数。因为函数让程序更加模块化,从而增加程序代码的可读性,更方便后期修改、完善。 二、函数的分类 库函数和自定义函数 1.库函数 (1)如printf()、strlen()......,由C语

Poem_coder的博客 3791

c语言中各种函数的作用,C语言常用函数用法大全

C语言是当中广泛的计算机编程语言,是所有计算机编程语言的祖先,其他计算机编程语言包括当前流行的Java语言,都是用C语言实现的,C语言是编程效率高的计算机语言,既能完成上层应用开发,也能完成底层硬件驱动编程,在计算机程序设计当中,特别是在底层硬件驱动开发当中,具有不可替代的作用。在C语言学习过程当中,除了学习好C语言基本语法外,掌握常用的C语言库函数的使用也是非常重要的,本文主要给同学们详细讲解在...

weixin_31129039的博客 4284

C语言之函数

标准库和头文件C语言标准中规定了C语言的各种语法规则,C语言并不提供库函数;C语言的国际标准ANSIC规定了一些常用的函数的标准,被称为标准库,那不同的编译器⼚商根据ANSI提供的C语言标准就给出了⼀系列函数的实现。这些函数就被称为库函数。各种编译器的标准库中提供了⼀系列的库函数,这些库函数根据功能的划分,都在不同的头文件中进行了声明。了解了库函数,自定义函数其实更加重要,也能给程序员写代码更多的创造性。函数的语法形式ret_type fun_name(形式参数)• ret_type 是函数返回类型。

TU^的博客 1815
上一篇: C语言(二维整形与字符型数组)
下一篇: C语言(函数与数组)
X_b4321
博客等级 码龄113天 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值