[英]How can I concatenate two arrays in C?
如何连接两个数组以获得包含两个原始数组元素的单个数组?
C中的数组只是一个连续的内存区域,指向它们的start *。 因此合并它们涉及:
sizeof
) malloc
)一个大小为A + B的新数组C. memcpy
)内存从A到C, free
)A和B的内存。 请注意,这是一项昂贵的操作,但这是基本理论。 如果您使用的是提供抽象的库,那么您可能会感觉更好。 如果A和B比一个简单的数组(例如排序的数组)更复杂,则需要进行更智能的复制,然后执行步骤3和步骤4(请参阅: 如何将具有不同值的两个数组合并到一个数组中 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.