我面临通过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
);
}
答案 0 :(得分:0)
如果您有这样的事情:
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;
}