【发布时间】:2013-06-05 19:41:51
【问题描述】:
为什么修改ptr没有效果 在矢量上? 我正在尝试通过 f 函数更改值。
void f(int *ptr, int size, int value){
ptr=(int* )malloc(sizeof(int));
if(ptr!=NULL){
int i;
for(i=0;i<size;i++)
*(ptr + i) = value;
}
}
int main (void)
{
int *vector = NULL;
f(&vector, 3, 324);
printf("%p\n", vector);
}
【问题讨论】:
-
请打开并阅读您的编译器的警告。
-
(无论如何它都不应该工作......)警告:从不兼容的指针类型传递 `f' 的 arg 1|
-
是的,所以继续解决这个问题。
标签: c pointers void-pointers