使用C中的char数组进行深度复制结构(如何复制数组?)

组合式

我的C程序中有以下结构

struct person {
    char key[50];
    char color[20];
    int age;
};

我想对该结构进行深层复制。我已经完成了深度复制功能的设置,但是我对如何深度复制字符串有些困惑。我听说有人使用strcpy,有人使用strdup

我在程序中想要的是,如果原始人被释放,则深复制人的键和颜色不会受到影响。设置后,键和颜色将无法更改。就我的目的而言,我应该使用strcpyorstrdup函数吗?

伊哈罗布·阿西米(Iharob Al Asimi)

strcpy()之间有区别strdup()

  • strdup()分配空间并返回指向字符串副本的指针,您还必须free()指向返回的指针。

  • strcpy() 占用分配的空间并将字符串复制到其中。

看来,在您的情况下,这是strcpy()因为结构的字段不是指针,所以您无法为它们分配指向分配空间的指针,该指针将strdup()返回所分配的空间

但是,正如此答案中所述,您实际上不需要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

结构数组复制在C中如何工作?

来自分类Dev

如何使用OpenACC在C中执行结构的2D动态数组的手动深度复制

来自分类Dev

使用整数与数组进行深度复制Python

来自分类Dev

如何从结构数组中复制结构?

来自分类Dev

如何复制结构(结构中的结构)并将其填充到C ++中的结构数组中

来自分类Dev

使用memcpy函数C ++复制char数组

来自分类Dev

深度复制对象数组

来自分类Dev

将结构复制到char数组中

来自分类Dev

在C中复制数组并摆脱char数组中的垃圾

来自分类Dev

在C中复制数组并摆脱char数组中的垃圾

来自分类常见问题

在Angular 2 + TypeScript中深度复制数组

来自分类Dev

在javascript中深度复制嵌套对象的数组

来自分类Dev

如何在C中的char数组中复制uint8_t数组

来自分类Dev

如何在C中的char数组中复制uint8_t数组

来自分类Dev

如何在C#中复制数组

来自分类Dev

将结构复制到C ++中的数组中

来自分类Dev

如何将char数组复制到C中的char指针?

来自分类Dev

使用memcpy在C ++中复制ND数组

来自分类Dev

如何在不使用C#复制的情况下将结构数组元素提取到变量中?

来自分类Dev

C将静态数组复制到结构中

来自分类Dev

将结构复制到C中的数组

来自分类Dev

复制char指针数组

来自分类Dev

在C中,如何“直接”将结构复制到数组成员?

来自分类Dev

复制C样式的数组和结构

来自分类Dev

使用CUDA复制结构内部的指针数组

来自分类Dev

如何使用 C 中的结构变量数组进行输入验证

来自分类Dev

如何复制数组中的矩阵

来自分类Dev

在C#中复制数组

来自分类Dev

如何在C ++中将数组char复制到字符串或int *(void *)中?

Related 相关文章

热门标签

归档