[个人笔记] 学习小结 函数定义 函数声明 函数调用 函数重载

函数定义:

定义函数前

1):确定函数的功能
2):确定函数的参数,是否需要参数,参数的个数,参数的类型
3):函数的返回值
①.是否需要返回值
②.需要返回值则定义为 例: int function(参数1,参数2,…) { }
③.不需要返回值则定义为 例: void function(void) { }
4):确定函数名
①.函数名以大小写英文字母或下划线开头,不能以数字开头
②.函数名一定要顾名思义(与函数实现功能相似,如:实现两个数之和 函数名定义为void sum(void) )

函数实现
//需要 返回值和参数的 函数定义
int sum(int a,int b,int c) {		//函数的参数可以1个或多个 也可无
	//内容
}
//不需要 返回值和参数的 定义
void sum(void) {
//内容
}

函数调用

如下代码就调用了自定义的 sum() 函数

int sum(int a, int b, int c) {		//定义了一个函数用来实现三个数的和
	int x = 0;
	x = a + b + c;
	return x;	//定义为非void函数 必须要有返回值
}
int main(void) {
	int x = 0;
	int y = 0;
	int z = 0;
	cout << "输入3个整数输出他们的和:";
	cin >> x>>y>>z;
	cout << " x + y + z = " << sum(x,y,z)<< endl;		//此处调用sun()函数
	system("pause");
	return 0;

}

函数声明

程序是从main函数开始执行的所以函数的定义需要放在main函数的上面
编译器是由上往下编译的
如果函数定义在main函数下面 如果main函数快里有调用这个函数则编译时会报错
在这里插入图片描述
出现下面报错 找不到标识符
报错

解决方案:
  1. 把函数定义放在main函数前面
  2. 在main函数前进行函数声明
    在这里插入图片描述

函数值传递

调用函数时,形参被赋值为对应的实参,
实参本身不会受到函数的影响!

#include <Windows.h>
#include <iostream>
using namespace std;

int sum(int a) {	//(int a)形参:形式参数
		//调用后int a;  相当于 int a=10  a被赋值为10
	int x = 0;
	x += a;
	return x;
}

int main(void) {
	sum(10); //(10) 实参:实际参数
	system("pause");
	return 0;
}

值传递图:
在这里插入图片描述

使用数组作为函数参数

void scorePrint(int x[], int n) {  //int score[] 不是真正的数组 实际是一个指针 
	for (int i=0;i<n;i++) {
	cout << x[i] <<endl; //可以作为数组来使用
	}
 } 
目前还没学到指针 解释不清楚......跳过!

函数的默认参数

C语言不支持函数的默认参数,C++则支持
列:int sum(int a=10) 函数在调用时sum()a的默认参数是10 ,
或函数在调用时sum(20) 那么a被重新赋值为20

函数重载

函数名重载:
函数名可以相同,
但是, 函数的参数(形参)绝不相同:

  1. 参数个数不同
  2. 或参数个数相同, 但是参数的类型不同

只有返回类型不同,不能构成函数重载
只有形参变量名不同, 不能构成函数重载.

注意: C语言不支持函数重载

:个人学习笔记小结.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值