当前位置:首页 > C++目录 > 正文内容

指针(三):指针与函数

亿万年的星光4年前 (2021-08-10)C++目录1616

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;
}



扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

拓扑排序

拓扑排序

一、定义对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则...

【STL】二分查找函数 lower_bound 和 upper_bound

一、 lower_bound【功能】在数组a中从a[begin]开始到a[end - 1]按照cmp函数来比较进行二分查找第一个大于等于k的数的地址,如果有第一个大于等于k的数则返回该数的地...

符号与快捷键

符号与快捷键

一、键盘二、符号与快捷键1.常见符号加号:shift 加 =减号:-乘号:shift 加 8  (*)除号:/取余(模):shift 加 5    (%)【示例】#inc...

如何判断回文数/回文串

所谓回文,就是从左往右读和从右往左读都是一样的,这样的数字或者字符称为回文数/回文字符。做题的时候经常能看到判断回文操作。判断回文的一般有两种,一种是数字类型,一种是字符类型。两种分别介绍一下。一、回...

如何估算时间复杂度

首先:  常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n^2)<Ο(n^3)<…<Ο(2^n)<Ο(n!)时间复杂度可以简单理解为最多执...

【入门篇】>>> DEVC++下载、安装、简单使用

【入门篇】>>> DEVC++下载、安装、简单使用

什么是DEVC++    DEVC++是一款编程工具,是一个Windows环境下的一个适合于初学者使用的轻量级C/C++ 集成开发环境(IDE),它是一款自由软件,遵守G...