#include <stdio.h>
main()
{
int a=0;
int *b=&a;
*b = a + 2;
printf("%d", a);
}
Почему я задаю этот вопрос?Это спрашивали 1000 раз, верно?
Не совсем так.,,Посмотрите, я проверил вопросы такого рода, заданные на этом сайте.Они отвечают на НЕКОТОРЫЕ вопросы об указателях, но не отвечают на вопрос о том, что делает указатель со значением, которое ему присвоено.
Что делает указатель на присвоенное ему значение?
Итак, у меня есть этот код в C, который имеет простую функцию, затем назначается указатель bадрес а.Указатель b обновляется значением a + 2, как ни странно, после этого a также обновляется на 2.
Я предполагал, что указатели были переменными, как и любые другие, но назначение переменной, похоже, меняется не толькоуказатель, но переменная, присвоенная ему тоже.
Я новичок, и это не типично для того, что я узнал до сих пор:
Почему я являюсь новичком?
Что ж, обычно начинающим программистам ОЧЕНЬ сложно понять указатели. Я считаю, что этот вопрос принесет новичкам ценность того, как работают указатели, если они не хотят отвлекаться на поиск в Google или не могут заплатить50+ долларов за книгу.
Я думаю, что ответ таков:
Я думаю, что, поскольку указатели разные,в дополнение к присвоению значения переменной, она также дает значение BACK и обновляет значение, которое ей также присваивается.Я не знаю почему, и я не могу доказать, почему без надлежащих доказательств.