如何连接两个数组以获得包含两个原始数组元素的单个数组?
答案 0 :(得分:26)
C中的数组只是一个连续的内存区域,指向它们的开始*。因此合并它们涉及:
sizeof
)malloc
)一个大小为A + B的新数组C. memcpy
,free
)A和B的内存。请注意,这是一项昂贵的操作,但这是基本理论。如果您使用的是提供抽象的库,那么您可能会感觉更好。如果A和B比简单数组(例如排序数组)更复杂,则需要进行更智能的复制,然后执行步骤3和步骤4(参见:how do i merge two arrays having different values into one array)。