为了账号安全,请及时绑定邮箱和手机立即绑定

C++中memcpy的使用

C++中memcpy的使用

C C++
慕粉4308941 2017-12-07 20:32:05
一本书上的代码如下:    typedef int State[9];    State st[1000];    int front = 1, rear = 2;    State &s = st[front];    State &t = st[rear];接着使用memcmp的时候书上是这样写:    memcmp(t, s, sizeof(s));而为什么使用memcpy的时候书上又是这样写:    memcpy(&t, &s, sizeof(s));为什么使用memcpy的时候要在t和s前面加上'&'呢?为什么不是 memcpy(t, s, sizeof(s)); 这样写呢,是语法不对吗?或者是这两者有什么区别?希望能详细一点。
查看完整描述

1 回答

已采纳
?
慕用4063026

TA贡献195条经验 获得超115个赞

memcmp是比较内存区域buf1和buf2的前count个字节。该函数是按字节比较的。比较的整个数组

memcpy指的是c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。拷贝的数组中的值

查看完整回答
反对 回复 2017-12-07
  • 慕粉4308941
    慕粉4308941
    我想问问为什么不是memcpy(t, s, sizeof(s));而是memcpy(&t, &s, sizeof(s));这两种写法有什么区别吗?
  • 慕用4063026
    慕用4063026
    当然有,两个函数又不一样,你说的这个memcpy(t, s, sizeof(s))就不对啊 memcpy比较的是指向的值用&t,memcmp比较的是字节,是整个数组用t
  • 1 回答
  • 0 关注
  • 1373 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信