Search code examples
c++charconstantscoutp-lang

How do I print const char?


#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?


Solution

  • 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.