通过循环将数据复制到整数指针数组?

Copying data to an integer pointer array through loop?

我在通过 for 循环将数据复制到 void 指针数组时遇到问题。我不允许使用双指针。

我正在尝试这样的事情:

for(i=0;i<9;i++){
   array + i = i;
}

但我不能只这样做,我知道,

我正在尝试这样做

memcpy(
  array+i,
  i,
  s
);

我已经分配了内存: 我的实际代码是这样的:

if(v->e_type==V_INT){
  //  printf("%p ",v->e_array+v->no_e);
        memcpy(
               v->e_array+v->no_e,
               new_val,
               v->e_sz
               );
}

如果你有这样的事情:

int *x = malloc(sizeof(int)*4);

您可以使用指针运算将值放入其中:

for(int i = 0; i < 4; i++) {
    *(x+i) = i; // or *(x+1) = 0; for example
}

或者简单地说:

for(int i = 0; i < 4; i++) {
    x[i] = i;
}