【C语言】函数的基本概念和使用(1)

举报
人才程序员 发表于 2023/10/29 20:37:14 2023/10/29
【摘要】 @TOC 前言函数的概念及无参数,无返回值的函数提示:以下是本篇文章正文内容,下面案例可供参考 一、函数的概念 1.模块化编程1.用于完成特定任务的程序代码单元理解:那就是把一个小功能封装成一个独立的代码段(函数)如:{a+b} 这个就是用于完成特定任务的程序。封装前与封装后的执行结果是一样的。 2.函数的作用1、增加代码的复用性(重复使用)数组查找最大值的例子://要使用的数组 int...

@TOC


前言

函数的概念及无参数,无返回值的函数


提示:以下是本篇文章正文内容,下面案例可供参考

一、函数的概念

1.模块化编程

1.用于完成特定任务的程序代码单元
理解:那就是把一个小功能封装成一个独立的代码段(函数)
如:{a+b} 这个就是用于完成特定任务的程序。
封装前与封装后的执行结果是一样的。

2.函数的作用

1、增加代码的复用性(重复使用)
数组查找最大值的例子:

//要使用的数组
	int a[5] = { 8,15,44,98,66 };
	int Temp = a[0];//中间变量,记住最大的数

	for (int i = 0; i < 5; i++)
	{
		//如果最大的数小于数组的指定的数,则把数组的数赋值到最大的Temp中记住他
		if (Temp < a[i])
			Temp = a[i];
	}
	printf("%d", Temp);

如果要找一个数组的最大值,那么每回都要写,这么多代码,所以我们需要函数。函数可以增加代码的复用性!!!

2、增加代码的可读性
主逻辑清晰,便于确定问题所在,方便修改维护。
注意:
通常,会把一个功能封装成一个函数
一个函数尽量是单一的功能,干啥就是专门干啥的
函数的封装无关于代码量

3.函数的执行过程

调用位置跳转进函数,函数走完了,再跳回调用位置
看图:
在这里插入图片描述
找到改函数的地址,执行代码

注意:函数比直接写的效率是低那么一点点的,因为涉及到跳转一步操作,但是一步操作,实在太微乎其微 了,就像是地球上的一只i蚂蚁。虽然微乎其微,所以函数是实际编程中必用的,也完全不用考虑函数的个数带来的稍慢。但是要跟大家说一下,这个常识还是要知道的。

二、无参数无返回值的函数

1.函数定义

//实例
void fun(void)
{
	printf("I am function");
}

2.函数头

1、函数类型

函数返回值类型,咱们的没有返回值,就是无类型,就要加个void,
表示函数没有返回值,或者我们不使用返回值。

注意:返回值不写不会报错,C语言允许,c++不允许。不写默认是int

2、函数名字

名字就是标识符,相当于int a;的a,变量名 那么函数名就是函数的标识

注意点:1、合法标识符
2、不要用与系统同名的函数
3、函数的名字尽量把函数的功能体现出来

3.函数参数列表

C:标准C语言,函数没参数需要写个void,跟主函数一样
C++:可以不用写void ,默认void

C写or不写void的区别
不写void表示参数个数不确定,写了表示不接受任何参数。
但是C++没有

3.函数体

函数实体,也就是代码部分,代码跟主函数写法一样,没有特殊的
要有花括号,函数体被花括号包住

三、函数调用

作用:使用函数里的代码
调用方式:函数名(); (函数名字+小括号)

函数地址:函数调用的本质是 函数地址+(参数列表)则:
(&fun)() ,也是函数调用

四、函数声明/函数原型

意义:使用一个变量之前,一定要定义,或者声明这个变量
同理,在函数调用之前,一定要出现函数定义,或者声明。

函数定义:函数定义出现在函数调用之前,但是函数里不能定义函数

1.函数声明

形式:函数头加个分号void fun(void);
函数定义有实体 ,很重要这句话

注意:注意不要直接互相调用/自己调用自己(死循环)
函数声明一定要有函数定义,否则不能使用(只有声明,无定义,无调用,语法无错,但无意义)
函数声明可以有多个,函数定义只能有一个


总结

本节课为函数的基本概念和无参数无返回值函数的应用。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。