1. 宏定义
#define SWAP(type, a, b) {type temp = a; a = b; b = temp;}
2. 引用,不使用临时变量
void change(int &a, int &b)
{
a = a^b;
b = a^b;
a = a^b;
}
3. 指针,任意类型数据
int change(void* a, void* b, size_t sz) {
void* temp = malloc(sz);
if (!temp) {
return -1;
}
memcpy(temp, a, sz);
memcpy(a, b, sz);
memcpy(b, temp, sz);
free(temp);
return 0;
}