int k[4] = {1,2,3,4};
int kk[4];
kk=k;
我在分配中遇到不兼容的类型? 我是否必须循环并分配数组中的每个值,还是有更简单的方法?
谢谢
答案 0 :(得分:2)
您必须循环或使用库调用。
一个选项是memcpy(kk, k, sizeof(k));
。为此,您必须#include <string.h>
。
答案 1 :(得分:1)
是。数组的行为与C中的原始数据类型不同。您必须遍历数组并分配每个值。你不能只将一个数组分配给另一个数组(特别是因为kk实际上是一个int指针)。虽然不太难:
int i;
for (i = 0; i < 4; i++)
kk[i] = k[i];
答案 2 :(得分:0)
没有好的旧C数组的副本分配。所以是的,你必须循环并复制每个元素。