Я пытаюсь узнать про указатели C, но я не могу понять нечто ... Следующий код:C указатели - разные адреса
#include <stdio.h>
void foo(int *x, int *y);
void foo(int *x, int *y) {
printf("x = %p\ny = %p\n", &x, &y);
*x = 5;
*y = 6;
}
int main(void) {
int a, b;
printf("a = %p\nb = %p\n", &a, &b);
foo(&a, &b);
return 0;
}
Почему адреса разные? Первые printf
(основной) выводят два адреса. другие printf
(foo) выводят разные адреса. Я передаю адреса в foo (&).
+1 за избиение меня к нему :) – iniju