函数的使用

函数可以理解为一个模块的代码,完成一个独立的功能。在这里插入图片描述

库函数

C语言,并不是直接去实现库函数,而是提供了C语言的标准和库函数的约定(类似于开连锁店,你得满足我的要求才能开)

C语言常用的库函数有:
IO函数(即输入与输出函数)
字符串操作函数
内存操作函数
时间/日期函数
数学函数
其他库函数

注:使用库函数,必须包含对应的头文件。

库函数需要全部记住嘛?NO
需要学会查询工具的使用
https://cplusplus.com
http://en.cppreference.com
http://zh.cppreference.com
函数的使用_第1张图片

自定义函数

自定义函数和库函数一样,有函数名,返回值类型和函数参数
函数的使用_第2张图片
当实际参数传递给形式参数的时候,形式参数是实际参数的一份临时拷贝
所以形式参数的修改不会影响实参
函数的使用_第3张图片

函数的参数

实际参数(实参):
真实传给函数的参数,叫实参

实参可以是:常量,变量,表达式,函数等。
无论实参是何种类型的量,在进行函数调用时,他们都必须有确定的值,以便把这些值传给形参。

形式参数(形参):
形式参数是指函数名括号中的变量,应为形式参数只有在函数被调用的过中程才实例化(分配内存单元),所以叫形式参数,形式参数当函数调用完成之后就自动销毁了,因此形参只在函数中有效。

形式参数实例化之后相当于实参的一份临时拷贝。
函数的使用_第4张图片

函数的调用

1.传值调用
函数的形参和实参分别占用不同内存块,对形参的修改不会影响实参。

2.传址调用
传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用方式。
这种传参方式可以让函数和函数外边的变量建立真正的联系,也可以是函
数内部可以直接操作函数外部的变量。

函数的嵌套和链式访问

函数可以嵌套调用

#include
void new_line()
{
	printf("hehe\n");
}
void three_line()
{
	int i = 0;
	for (i = 0; i < 3; i++)
	{
		new_line();
	}
}
int main()
{
	three_line();
	return 0;
}

函数不能嵌套定义❌❌

#include
int test()
{
	int a = 0;
	int b = 0;
	return a + b;
	
	void fun()
	{
		printf("hehe\n");
	}
}
int main()
{

	return 0;
}

链式访问:把一个函数的返回值作为另一个函数的参数。
函数的使用_第5张图片

函数的声明和定义

函数声明:
1.告诉编译器有一个函数叫什么,参数是什么,返回类型是什么,但是具体是不是存在函数声明决定不了。

2.函数声明一般出现在函数使用之前,需满足先声明后使用。

3.函数的声明一般要放在头文件中

函数的定义是一种特殊的声明。
函数的使用_第6张图片

你可能感兴趣的:(c语言,算法)