通过循环将数据复制到整数指针数组?
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;
}
我在通过 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;
}