编写一个C程序来交换大小为32字节的内存块的内容

时间:2015-10-20 07:11:22

标签: c memory swap

我接到了以下任务:

  

写一个C程序来交换大小为32字节的内存块的内容。

我不知道如何使用指针概念来交换大小为32字节的内容。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

它类似于使用临时变量交换两个整数的方式:

int t = a;   // temporarily save a
a = b;       // overwrite a with b
b = t;       // overwrite b with saved a

在这种情况下,您可以使用以下声明创建大小为32字节的临时缓冲区:

char tempbuff[32];

然后使用它来交换另外两个32字节缓冲区的内容,请记住memcpy可以复制任意内存块,如下所示:

memcpy (tempbuff, firstbuff, 32); // copy firstbuff to tempbuff

结合之前的int t = a; a = b; b = t;方法,应该更多,足以让你编写完整的程序来完成你需要的工作。