gpt4 book ai didi

c - 正确使用memcpy

转载 作者:行者123 更新时间:2023-11-30 21:10:07 26 4
gpt4 key购买 nike

这样使用memcpy是否正确?

unsigned char *ptr = mem;
struct st st1[3];
for (int i = 0; i < 3; i++) {
memcpy(&st1[i], ptr + sizeof(st) * i, sizeof(st));
}

如果不是,考虑这个例子如何正确使用它?

最佳答案

如果 mem 实际上指向构成 struct st 有效表示的字节,那么除了 sizeof(st) 之外,此代码是正确的> 应为 sizeof(struct st)sizeof st1[i]。但是,由于这三个 block 是连续的,您可以在一份副本中完成所有操作:

memcpy(&st1, ptr, sizeof st1);

如果mem没有指向这样的字节,那么整个方法将不起作用。

关于c - 正确使用memcpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31866843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com