символ и символ * (указатель)
Я хотел бы понять, как работают указатели, поэтому я создал эту небольшую программу. Прежде всего я создаю указатель p, который указывает на символ.
Первый вопрос на данный момент. Если я создаю указатель, его значение является адресом памяти (если я указываю на объект без указателя), но на этот раз это так "ха-ха» в моем примере. Почему это работает в char *? И как я могу повысить ценность этого с CIN >> п?
Мой второй вопрос заключается в том, что я создал символ q, который имеет значение указателя * p в том месте, где я его создал. НО его значение и адрес "ч" тоже, но почему? Это должен быть адрес памяти этого объекта char! Это'S бессмысленно: D (MINGW - GCC)
#include
int main()
{
/* char *p;
cin >> p; //forexample: haha */
char * p = "haha";
char q = *p;
std::cout < "&q = " < &q < std::endl; //&q = h
std::cout < "q = " < q < std::endl; //q = h
return 0;
}