#include <stdio.h>
void SWAP(void*vp1, void*vp2, int size);
int main(void)
{
char *husband = strdup("Fred");
char *wife = strdup("Wilma");
SWAP(husband, wife, sizeof(char*)); //调用方式一:这种交换方式为什么不行?
SWAP(&husband, &wife, sizeof(char*)); //调用方式二:这种交换方式为什么在指针类型数据交换时有效?
一个内存数据交换的例子(一)
最新推荐文章于 2024-04-07 07:31:37 发布
本文通过实例探讨了两种不同的内存数据交换方式。调用方式一仅交换字符串首4个字节,导致部分字符错乱。而调用方式二交换的是指针变量的地址,实现了完整字符串的互换。这种差异源于对指针操作的不同理解。
摘要由CSDN通过智能技术生成