[C++] 函数总结

1.函数的定义

定义函数三要素:函数名、参数列表、返回值;

1.2.函数原型

在函数使用前,必须对它进行声明,这个声明也称为函数原型。如:

#include <iostream>
//add()函数原型
int add(const int& i,const  int& j);
int main()
{
   
	using namespace std;

	int i = 45;
	int j = 200;
	int sum = add(i,j);
	system("pause");
	return 0;
}

int add(const int& i, const int& j) {
   
	std::cout << "i:" << i << ",j:" << j << std::endl;
	return i + j;
}

函数原型和函数唯一的区别就是函数原型不提供函数体,它描述了函数到编译器的接口,由于不需要方法体,因此函数声明不要求提供变量名,不过应尽可能写上。

函数原型一般在头文件中声明。

2.函数参数的传递

函数参数的传递有三种方式:按值传递、指针传递、引用传递,下面我们来看他们各自的特点。

2.1.按值传递

c++中通常按值传递(非引用类型),也就是说当实参传递给形参时,将实参的值赋给了形参,实参并没有影响,如:

#include <iostream>

void Swap(int i,int j);
int main()
{
   
	using namespace std;
	int fir = 100;
	int sec = 300;
	Swap(fir, sec);
	cout << "fir:" << fir << ",sec:" << sec << endl;
	system("pause");
	return 0;
}

void Swap(int i, int j) {
   
	int temp;
	temp = i;
	i = j;
	j = temp;
}

运行该程序,发现并没有交换fir和sec的值,在函数调用时,函数将创建一个int类型的变量i,然后将fir的值100赋给它,因此实际上函数Swap()中操作的是局部变量i,而非变量fir。

按值传递导致被调用函数使用调用程序传递的值的拷贝。

2.2.按指针传递

当函数传递指针类型参数时,实际上,也是按值传递,但是这个值是一个地址,因此,就可以通过这个指针来修改所指对象的值了。如:

#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值