Привет, ребята
У меня есть сомнения относительно указателей на символы в C ++. Каждый раз, когда мы создаем символьный указатель в C ++ char * p = "How are you doing", p должен содержать адрес ячейки памяти, которая содержит значение "how are you doing".
Однако я озадачен код образца и вывод. Почему cout << p
возвращает всю строку? Он должен давать значение адреса памяти. Во-вторых, почему cout << * p
дает только первый символ строки? Заранее спасибо!
Код:
#include <iostream>
using namespace std;
int main () {
const char *str = "how are you\n";
int i[]={1,2,3};
cout << str << endl; // << is defined on char *.
cout << i << endl;
cout << *str << endl;
}
ВЫВОД:
how are you
0xbfac1eb0
h