Я изучаю C ++, разбираюсь в указателях и создал следующий код
#include<string>
using namespace std;
int main()
{
char s[100] = "Today is a rainy day";
cout<<s[0]<<endl;
char *p;
p = s;
cout <<s<<endl;
cout<<p<<endl;
cout<<*p<<endl;
}
В этом коде я предположил, что, поскольку s указывает на начальный адрес массива, печать указателя p даст мне адрес и * p даст мне первый элемент массива.
Мой вывод был в форме
T
Today is a rainy day
Today is a rainy day
T
Здесь p и s выводят полный массив символов, который Я не понял, также использование * p выводило на печать первый элемент, хотя p теперь было просто массивом.
Как работают указатели, когда мы используем их в таких массивах, как это я хотел бы понимать.