C++ char

In C++, the char keyword is used to declare character type variables. A character variable can store only a single character.

Example 1: Printing a char variable

#include <iostream>
using namespace std;

int main() {

    // initializing a variable
    char ch = 'h';

    // printing the  variable
    cout << "Character = " << ch << endl;

    return 0;
}

Output

Character = h

In the example above, we have declared a character type variable named ch. We then assigned the character h to it.

Note: In C and C++, a character should be inside single quotation marks. If we use, double quotation marks, it's a string.


ASCII Value

In C and C++, an integer (ASCII value) is stored in char variables rather than the character itself. For example, if we assign 'h' to a char variable, 104 is stored in the variable rather than the character itself. It's because the ASCII value of 'h' is 104.

Here is a table showing the ASCII values of characters A, Z, a, z and 5.

Characters ASCII Values
A 65
Z 90
a 97
z 122
5 53

To learn more about ASCII code, visit the ASCII Chart.


Example 2: Get ASCII Value of a Character

#include <iostream>
using namespace std;

int main() {
    char ch = 'h';

    // Printing the corresponding ASCII of a character 
    // Notice the use of int() to get an integer
    cout << "ASCII value = " << int(ch) << endl;

    return 0;
}

Output

ASCII value = 104

We can get the corresponding ASCII value of a character by using int() when we print it.


We can assign an ASCII value (from 0 to 127) to the char variable rather than the character itself.

Example 3: Print Character Using ASCII Value

#include <iostream>
using namespace std;

int main() {

    // assigning an integer value to char
    char ch = 104;

    // printing the variable
    cout << "Character = " << ch << endl;

    return 0;
}

Output

Character = h

Note: If we assign '5' (quotation marks) to a char variable, we are storing 53 (its ASCII value). However, if we assign 5 (without quotation marks) to a char variable, we are storing the ASCII value 5.


C++ Escape Sequences

Some characters have special meaning in C++, such as single quote ', double quote ", backslash \ and so on. We cannot use these characters directly in our program. For example,

// This code shows an error
char character = ''';

Here, we are trying to store a single quote character ' in a variable. But this code shows a compilation error.

So how can we use those special characters?

To solve this issue, C++ provides special codes known as escape sequences. Now with the help of escape sequences, we can write those special characters as they are. For example,

// does not show error
char character = ' \' ';

Here, \' is an escape sequence that allows us to store a single quote in the variable.

The table below lists escape sequences of C++.

Escape Sequences Characters
\b Backspace
\f Form feed
\n Newline
\r Return
\t Horizontal tab
\v Vertical tab
\\ Backslash
\' Single quotation mark
\" Double quotation mark
\? Question mark
\0 Null Character

Example 4: Using C++ Escape Sequences

#include <iostream>
using namespace std;

int main() {
    char character1 = 'A';

     // using escape sequence for horizontal tab
    char character2 = '\t';

    char character3 = '5';

     // using escape sequence for new line
    char character4 = '\n';

    char character5 = 'a';

    // printing the variables
    cout << character1;       // A
    cout << character2;       // horizontal tab
    cout << character3;    // 5
    cout << character4;    // new line
    cout << character5;   // a

    return 0;
}

Output

A	5
a

In the above program, we have used two escape sequences: the horizontal tab \t and the new line \n.