C 里用指针交换两个变量的值

[复制链接]
查看11 | 回复1 | 2010-1-31 23:17:02 | 显示全部楼层 |阅读模式
如果要想实现楼主的要求,最简单的就是用C++中的模板函数来做。template void func( T* const a, T* const b) //严禁修改指针,只能修改指针指向的内存{ T tmp = *a; *a = *b; *b = tmp;}这种函数对结构体也是起作用的,不过要在结构体中事先定义好运算符“=”的重载。
回复

使用道具 举报

千问 | 2010-1-31 23:17:02 | 显示全部楼层
我水平有限尽量写写吧typedef stuct{int num1;int num2;}newst;
//定义结构体void fun(newst *a,newst *b) //交换结构体{ newst c; c=*b; b->num1=a->num1;b->num2=a->num2; a->num1=b->num1;a->num2=b->num2;}void fun(int *a;int *b) //交换数{ int c=*b; *b=*a; *a=c;}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行