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

问题描述

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

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 (将#修改为@)