在c语言中memswap是的用法
答案:2 悬赏:70 手机版
解决时间 2021-03-07 12:40
- 提问者网友:溺爱和你
- 2021-03-07 04:22
在c语言中memswap是的用法
最佳答案
- 五星知识达人网友:旧脸谱
- 2021-03-07 04:32
不懂 要实现内存块交换吗?
可以自己写函数 思路两个 逐byte交换和malloc新块memcpy交换
这是第一种
void memswap(void *m1, void *m2, size_t sizen)
{
unsigned char *a = (unsigned char*)m1, *b = (unsigned char*)m2;
while (sizen--)
{
*b ^= *a ^= *b ^= *a;
a+=sizeof(unsigned char);
b+=sizeof(unsigned char);
}
}
可以自己写函数 思路两个 逐byte交换和malloc新块memcpy交换
这是第一种
void memswap(void *m1, void *m2, size_t sizen)
{
unsigned char *a = (unsigned char*)m1, *b = (unsigned char*)m2;
while (sizen--)
{
*b ^= *a ^= *b ^= *a;
a+=sizeof(unsigned char);
b+=sizeof(unsigned char);
}
}
全部回答
- 1楼网友:酒安江南
- 2021-03-07 05:24
这个函数是你自己定义的,不是c语言的库函数
作用是利用 指向 两个变量的指针 交换 两个变量的值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯