Я изучаю указатель в функции. Когда я передаю указатель x
в update (), я обнаружил, что не могу позволить ему указывать на другую память? Почему это происходит? Почему я не могу позволить x
указывать на другую память в куче или стеке? Что делать, если я хочу достичь цели?
void update(int *x){
int *a;
a=malloc(sizeof(int));
x=a;//x is still point to original a rather than memory
// assigned by malloc()
}
int main() {
int a=4;
int *b =&a;
printf("%d ",*b);
update(b);
printf("%d ",*b);
return 0;
}
Спасибо ~