В чем разница между p и & в Go, когда p является указателем? - PullRequest
0 голосов
/ 06 октября 2018

Я знаю, какая разница в адресе указателя Go.

var int *a = new(int)

Я могу определить переменную указателя следующим образом.Когда я проверял адрес этой переменной, я обнаружил другой адрес.

fmt.Println(a, &a)

Я хотел бы знать, какая разница в этом адресе. enter code here

1 Ответ

0 голосов
/ 06 октября 2018

a - переменная типа указателя, что означает, что данные, которые она содержит, являются адресом памяти.Таким образом, печать a печатает адрес памяти, который он хранит, адрес переменной, на которую он указывает.

И a - переменная, она хранится где-то в памяти, a также имеет адреси &a является этим адресом.

Таким образом, у вас есть 2 переменные: a и одна, созданная new(int), адрес которой возвращается new() и какой адрес мы храним в a.

Пожалуйста, прочитайте это для ясного и краткого введения в указатели:

Дэйв Чейни: поймите указатели Go менее чем за 800 слов или ваши деньги обратно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...