computer:c:tips:copy_entire_array
复制整个数组的一个方法
我们知道,无法通过赋值操作实现两个数组的复制。下面的代码是非法的:
int a[10], b[10]; a = b;
由于标准C支持struct/union对象的赋值操作,因而可以将数组嵌在struct/union内,来实现数组的复制。如:
struct arr { int contents[10]; }; struct arr a, b; a = b;
但这个方法,需要确保变量a和b的内存区域没有部分重叠(overlap),否则该行为是未定义的。
computer/c/tips/copy_entire_array.txt · 最后更改: 2014/11/01 02:02 由 127.0.0.1