问题描述
如果使用'='将已经存在的具有元素的数组分配给空数组变量,它们是否已连接?
例如char x[] = "ABC";
是现有的数组,如果我创建新的数组char new[];
并执行char new[] = char x[];
是否更改一个数组会影响另一个?
解决方法
char x[] = "ABC";
是x
数组的初始化,并且是复制字符串文字的唯一示例。
char new[] = char x[];
不执行任何操作,因为它是无效的语法,并且程序根本无法编译。
char new[] = x;
是非法的,因为您无法使用其他数组初始化数组。
char new[4];
new = x;
是非法的,因为您无法分配数组。
您需要:
char new[4];
strcpy(new,x);
或
memcpy(new,x,szieof(new));