我接到了以下任务:
写一个C程序来交换大小为32字节的内存块的内容。
我不知道如何使用指针概念来交换大小为32字节的内容。
任何帮助都将不胜感激。
答案 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;
方法,应该更多,足以让你编写完整的程序来完成你需要的工作。