Що відбувається, коли ми використовуємо & перед покажчиком?

The book doesn't really say about what & in front of a pointer gives. enter image description here

6
^^ ... але так само, як адресу, де зберігається адреса.
додано Автор John Zwinck, джерело
Найважливіше, щоб дізнатися про покажчики, що немає нічого особливого в покажчиках.
додано Автор molbdnilo, джерело
Ваша книга дійсно говорить саме те, що вона дає - в ній написано "Адреса змінної вказівника" прямо на сторінці.
додано Автор molbdnilo, джерело
& p надає адресу p . Оскільки p у вашому прикладі має тип int * (тобто покажчик на int ), & p дає результат типу int ** (тобто покажчик на покажчик на int ), тому присвоєння p1 = & p працює. * p1 дасть результат еквівалентний (те ж значення і той же тип) p , а ** p1 дасть значення, на яке вказує code> p - це змінна a , яка має значення 125 .
додано Автор Peter, джерело
^^ ... не плутати з адресою, що зберігається в покажчику.
додано Автор WhozCraig, джерело
Вона дає вам адресу, де зберігається покажчик.
додано Автор Osiris, джерело

6 Відповіді

a = int variable
p = address of a
pl = address of p
*p = a
*pl = p
**pl = a
3
додано
Дякуємо розумному користувачеві за голосування. Я проголосував за решту відповідей. Я здогадуюсь, що досягнення богоподібного рівня розвідувальних повноважень подібні до цих.
додано Автор luci88filter, джерело

При зберіганні значення в змінну:

a = 125

Значення od 125 зберігається десь у пам'яті

p = &a

p отримує адресу місця пам'яті, де зберігається a .

pl = &p

Нарешті, pl отримує адресу в пам'яті, де зберігається сам покажчик.

So & is giving you the address of the memory location. As your book is showing you.

3
додано

For example: you have an integer variable x, in this variable you have the value 52. But to know where you have the address in memory of this variable you use &x, that will point to the address where the variable is stored in memory.

Якщо ви хочете, щоб значення, яке зберігається в адресі пам'яті y , використовувалося * y .

2
додано

зберігає адресу змінної в покажчику p

quick Google search: https://www.tutorialspoint.com/cprogramming/c_pointers.htm

1
додано
Використання "&" не робить збереження . Будьте обережні з тим, як ви формулюєте свої відповіді.
додано Автор SamTebbs33, джерело

The book doesn't really say about what & in front of a pointer gives

The book says exactly what & in front of a pointer gives: "Address of pointer variable p".

Як видно з декларації pl , він має тип int ** .

Вказівник може вказувати на будь-який тип (чи ні, для void * ), і це вказує на інший покажчик.

0
додано

& in front of a variable yields the address of the variable.
& in front of a pointer   yields the address of the variable.

0
додано
IT KPI C/С++ новым годом
IT KPI C/С++ новым годом
747 учасників

Чат обсуждения С/С++. - Вопросы "напишите за меня лабу" - это оффтоп. - Оффтоп, флуд, оскорбления и вбросы здесь не приняты. - За нарушение - предупреждение или mute на неделю. - За спам и рекламу - ban. Все чаты IT KPI: https://t.me/itkpi/1147