微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这段代码是否正确存储了稍后要使用的值?

如何解决这段代码是否正确存储了稍后要使用的值?

我正在修复一个错误并偶然发现了类似于以下内容代码

while (true){
    memcpy( &Key,&ptr->recKey,KEY_SIZE );
    //other code
    memcpy( ptr->recKey.id,newId,ID_SIZE );
    //other code
    memcpy( ptr,&Key,KEY_SIZE );
}

我不能确切地说出上面的代码在做什么。代码背后的意图是 Key 应该保存 recKey 的值,以便它可以用于在循环结束时重新初始化 ptr,但我不确定这是否发生了。

是否将 ptr->recKey 的地址分配给 Key 的地址,使它们具有相同的地址?所以在第二行改变recKey.id也必须改变Key.id,对吗?我是否误解了第一行在做什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。