指针(三):指针与函数
1.交换的例子
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void swap(int x, int y){
int a=x;
x=y;
y=a;
cout<<"函数内部"<<x<<" "<<y<<endl; // 4 3
}
int main() {
int a=3,b=4;
swap(a,b);
cout<<a<<" "<<b<<endl; // 3 4
return 0;
}上面的程序不能完成交换
而下面的程序可以完成交换
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void swap(int &x, int &y){
int a=x;
x=y;
y=a;
cout<<"函数内部"<<x<<" "<<y<<endl; // 4 3
}
int main() {
int a=3,b=4;
swap(a,b);
cout<<a<<" "<<b<<endl; // 4 3
return 0;
}2.指针作为函数参数
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void swap(int *x, int *y){
int t =*x;
*x= *y;
*y=t;
cout<<*x<<" "<<*y<<endl; // 4 3
}
int main() {
int a=3,b=4;
swap(&a,&b);
cout<<a<<" "<<b<<endl; // 4 3
return 0;
}上面的这样的例子可以完成交换。
下面的例子可以直接修改原来数据的值
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void swap(int *x, int *y){
*x=5;
}
int main() {
int a=3,b=4;
swap(&a,&b);
cout<<a<<" "<<b<<endl; //5 4
return 0;
}扫描二维码推送至手机访问。
版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。
