C++分别用指针和引用实现交换函数

       前几天上课老师给出了一个课堂作业:请分别用指针和引用来实现两个数的交换。虽然题目比较俗套,但是好久没写过C++程序了,依然很生疏,所以我决定总结一下自己的实现,程序粗糙,风格也混合着C,希望大家给提提建议。

       老师出这个题目的目的无非是想让我们联系一下C++基本功,采用指针的方式是C语言的风格,用指针来存储变量的地址,然后通过取地址的内容,直接对内存所存储的数据进行了操作,而引用则是C++风格,引用相当于对一个变量起了一个别名,正常的名字跟别名指示的是同一块内存地址,这里要注意指针与引用在使用过程的代码。

#include<cstdio>
//#include<iostream>
//using namespace std;

int Ptr_swap(int *pa,int *pb){ //使用指针方式
int temp;
temp = *pa;    //将指针指示的内容赋值给中间变量
*pa = *pb;
*pb = temp;

return 0;
}
int Cite_swap(int &ca,int &cb){ //使用 引用方式
int temp;
temp = ca;     //因为引用是变量的别名,他们指向相同的内存空间
ca = cb;       //所以可以直接使用别名来交换
cb = temp;

return 0;
}
int main(int args,char *argv[]){

//printf("hello ");

// char *s[] = {"yums","qq","tt"};

int x = 1;
int y = 2;
int *px = &x;
int *py = &y;

int Perror = Ptr_swap(px,py);
// cout<<x<<y<<endl;
printf("the sort by pointer is:%d %d \n",x,y);

int &cx = x;
int &cy = y;

int Cerror = Cite_swap(cx,cy);
printf("the sort by cite is:%d %d\n",x,y);

// printf("%c\n",86);

return 0;
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值