经典英语美文背诵100篇:请高手来说一下这2种函数调用有什么不同?(C语言)

来源:百度文库 编辑:高考问答 时间:2024/04/30 03:50:11
#include<iostream>
using namespace std;
void swap(int &a,int &b);
int main()
{
int a=1;
int b=2;
swap(a,b);
cout<<a<<b;
}
void swap(int &a,int &b)
{
a=3;
b=4;
}
=============================
#include<iostream>
using namespace std;
void swap(int *a,int *b);
int main()
{
int a=1;
int b=2;
swap(&a,&b);
cout<<a<<b;
}
void swap(int *a,int *b)
{
*a=3;
*b=4;
}
谢谢

第一个函数是引用调用,只有在C++语言中才有这样的机制. 引用实际上就是变量的别名,实际上就是在直接操作那个变量.

第二个函数也是传址调用,在c语言中所有的.

& 和 * 的区别