gpt4 book ai didi

c - memcpy 的真实用例 - 为什么不采用简单的分配呢?

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:22 26 4
gpt4 key购买 nike

memcpy 将 n 个字节从源复制到目标。 (linux 手册页)

一个简单的赋值也是一样的,对吧?

那么差异在哪里,memcpy 的实际用例是什么?

最佳答案

是也不是。正如您所说,简单赋值将复制值,因此分配标准变量(无论是标准数据类型还是结构)都可以正常工作。使用数组时通常会出现此问题。举个例子:

int p,q;
struct myStruct s1, s2;
char str1[50];
char str2[50];
// ...
// Assign stuff to all the variables
// ...
p = q; // Fine
s1 = s2; // Fine
str1 = str2; // ERROR!

对于上面的数组情况,memcpy 允许我们复制数据,因此要执行 str1 = str2,我们实际上必须编写 memcpy(str1, str2, 50);

关于c - memcpy 的真实用例 - 为什么不采用简单的分配呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095274/

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