Итак, я следую «Let Us C» книга, и у них есть пример для указателей, вы можете объяснить, почему значение i
и j
изменения значений в этом сценарии ?:Почему в этом сценарии изменяется адрес указателя var?
main()
{
int i = 3, *j, **k ;
j = &i ;
k = &j ;
printf ("\nAddress of i = %u", *k) ;
printf ("\nAddress of j = %u", &j) ;
}
Выходной
Адрес г = 65524
Адрес J = 65522
Я понимаю, в C
, что новые объявления переменных, например int i =3; int k=5
, назначаются разными ячейками памяти с помощью C, но, похоже, не склоняет голову, почему это выводит разные значения?
Оффтопическое предложение: «Давайте C» - это хлам, не читающий его. Выберите хорошую книгу на C. Также используйте 'int main (void)' вместо 'main()' и 'return 0;' –
Почему downvote? Я задаю вопрос ... И просто не говори «используйте новую книгу», рекомендую один. – Jshee
'i' и' j' действительно разные переменные, поэтому они имеют разные адреса, как вы упоминаете. В чем проблема ? – Quentin