程序回滚实现 c语言,C语言回滚(三)-指针(示例代码)

#include

#include

//& 地址运算符

//* 间接运算符

// *的作用 当*后面跟一个指针名或地址的时候,

// *给出储存在被指向地址中的数值

int change1(int x, int y);

//int change2(int *x, int *y);

int change2(int *, int *);

//C语言的简洁性允许这样定义

int main(){

int *p;

//定义了一个指针

//p是一个指针,*p是一个int类型的

//指针的用处

int m, n;

scanf_s("%d %d", &m, &n);

change2(&m, &n);

//传递了两个地址

//不同与传递数值;传递数值只是复制了该数据

//不能更改传入数据的值;只能更改复制后的数值

//指针是对原数据的更改

printf("%d %d", m, n);

system("pause");

return 0;

}

int change2(int *x, int *y){

int tmp;

tmp = *x;

//此时要用*x而不是x

//因为此时传入的是地址*x才是被指向的地址中的数值

*x = *y;//*x

*y = tmp;

}

int change1(int x, int y){

int tmp;

tmp = x;

x = y;

y = tmp;

//return x;

//因为只能返回一个值,所以单独使用兑换函数不能达到目的

//这时候就需要指针

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值