我在作业中得到了不兼容的类型?

时间:2011-05-29 00:36:10

标签: iphone c

int k[4] = {1,2,3,4};
int kk[4];  
kk=k;

我在分配中遇到不兼容的类型? 我是否必须循环并分配数组中的每个值,还是有更简单的方法?

谢谢

3 个答案:

答案 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数组的副本分配。所以是的,你必须循环并复制每个元素。