从上帝视角看函数

1.函数的概念

函数(function),有的地方翻译为子程序。C语言中的函数就是完成某项特定的任务的⼀段代码。C语言的程序其实是由无数个小的函数组合而成的,也可以说:⼀个大的计算任务可以分解成若⼲个较小的函数(对应较小的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以反复使用的,提升了软件的开发效率。
在这里插入图片描述

2.库函数

2.1:为了不再重复写常见的代码(如写一个函数按照某种格式在屏幕上打印信息、写一个函数求字符串的长度),提高程序员的开发效率,C语言标准(ANSI)规定了一些函数(每个函数都规定了函数名、返回值类型、形式参数以及函数功能),再由不同的编译器厂商根据该规定实现这些函数,提供给程序员使用。这些函数组成了一个函数库,称为标准库,这些函数就被称为库函数。 在这个基础上⼀些编译器厂商可能会额外扩展提供部分函数(这些函数其他编译器不一定支持)。

2.2:同⼀系列的库函数⼀般会声明在同⼀个头文件中(比如,与字符串相关的库函数的声明就在头文件string.h中)。使用库函数前,一定要包含对应的头文件(函数要先声明后使用,包含头文件就相当于函数的声明)

2.3:C++中提供的库函数的链接

2.4:库函数对应的头文件链接

3.自定义函数

3.1:实参(实际参数)


#include <stdio.h>
int Add(int x, int y)
{
   
	return x + y;
}
int main()
{
   
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int r = Add(a, b);
	printf("%d\n", r);
	return 0;
}

调用Add函数时,传递给函数的参数a和b,称为实际参数,简称实参。

3.2:形参(形式参数)

当函数未被调用时,并不会向栈区为函数的形参分配空间。只有当函数被调用时,才会在栈区为形参分配空间,用来存储实参传过来的值。

3.3:实参与形参的关系

在这里插入图片描述
形参只是接收了实参的值,但形参与实参的空间不一样的,形参值的改变并不会影响实参值的改变

4.return语句的几点注意事项

1.当函数的返回值类型是void时,可以不写return语句,或者写return ;表示不返回任何值)

2.return后边可以是⼀个数值,也可以是⼀个表达式,如果是表达式则先执行表达式,再返回表达式的结果。

3.return语句执行后,函数就彻底返回,后边的代码不再执行。

4.return返回的值和函数返回类型不⼀致,系统会自动将return返回的值隐式转换为函数的返回类型。(建议将函数的返回值与返回类型保持一致)

int test()
{
   
	int n = 1;
	if (n == 1)
		return 1.5;
	else
		return -1.5;
}
int main()
{
   
	int r = test();//test函数返回的是1,而不是1.5
	printf("%d", r);//1
	return 0;
}

5.如果函数中存在if等分支的语句,则要保证每种情况下都有return返回,否则编译器可能会报警告(不是报错误)

在这里插入图片描述

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值