Я обнаружил, что если вы присвоите адрес указателя другому адресу указателя в FUNCTION, он не изменит значение в главном, , однако, делая то же самое в основном, он будет изменение. Так в чем причина этого?C указатель, ссылающийся на другой указатель в функциях
void func(int *a, int *b){
b = a;
}
int main(){
int i= 5, k =6, *a=&i, *b=&k;
printf("%d %d\n",*a,*b); //output 5 6
b = a;
printf("%d %d\n",*a,*b); //output 5 5
a=&i;
b=&k;
func(a,b);
printf("%d %d\n",*a,*b); //output 5 6
printf("%d %d\n",*a,*b); //output 5 6
}
Поскольку вы передали указатели копией, а затем сменили копии указателей. –
Кстати, вы никогда не называете функцию. Это ошибка копирования? – Barmar