为什么修改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);
}
请打开并读取编译器的警告。 – Mat
(它不应该工作......)警告:从不兼容的指针类型传递'f'的arg 1 | –
是的,请继续解决。 – Mat