#include <iostream>
using namespace std;
int main() {
int age = 20;
const char* pDept = "electronics";
cout << age << " " << pDept;
}
The above code is normal.
Why shouldn't I use cout << *pDept
instead of cout << pDept
above?
Both of them are legal in C++. Which one to use depends on what you want to print.
In your case, pDept
is a pointer that points to a char
in memory. It also can be used as a char[]
terminated with \0
. So std::cout << pDept;
prints the string the pointer is pointing to.
*pDept
is the content that pDept
points to, which is the first character of the string. So std::cout << *pDept;
prints the first character only.