Arrays 将数组分配给数组

Arrays 将数组分配给数组,arrays,c,clang,Arrays,C,Clang,如果使用“=”将已存在的包含元素的数组分配给空数组变量,则它们是否连接 例如charx[]=“ABC”是现有数组,如果我创建新数组charnew[]和dochar new[]=char x[]更改一个数组是否会影响另一个数组?字符x[]=“ABC”是x数组的初始化,它是复制字符串文本的唯一示例 char new[]=char x[]不执行任何操作,因为它的语法无效,并且程序根本不会编译 char new[]=x是非法的,因为您不能用其他数组初始化数组 char new[4]; new = x;

如果使用“=”将已存在的包含元素的数组分配给空数组变量,则它们是否连接

例如
charx[]=“ABC”
是现有数组,如果我创建新数组
charnew[]和do
char new[]=char x[]更改一个数组是否会影响另一个数组?

字符x[]=“ABC”
x
数组的初始化,它是复制字符串文本的唯一示例

char new[]=char x[]
不执行任何操作,因为它的语法无效,并且程序根本不会编译

char new[]=x是非法的,因为您不能用其他数组初始化数组

char new[4];
new = x;
是非法的,因为您无法分配数组

您需要:

char new[4];
strcpy(new,x);


提示:
strcpy
如果您正在处理C字符串。这与一般数组不同。还要记住一些数组定义会衰减为指针,所以这不是复制数据,而是复制指针。
空数组变量
什么是空数组变量<代码>新字符[]将不编译并且
char new[]=char x[]也不会编译。@KamilCuk
charnew[];不会编译
:这取决于上下文。如果它是一个文件范围声明,它将被编译。
memcpy(new,x,szieof(new));