Bird
Raised Fist0
C++programming~5 mins

Character arrays in C++ - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a character array in C++?
A character array is a sequence of characters stored in contiguous memory locations. It is used to store text or strings in C++.
Click to reveal answer
beginner
How do you declare a character array to hold the word "hello"?
You declare it like this:
char word[6] = {'h', 'e', 'l', 'l', 'o', '\0'};
The extra '\0' is the null terminator to mark the end of the string.
Click to reveal answer
beginner
Why is the null terminator '\0' important in character arrays?
The null terminator '\0' tells C++ where the string ends. Without it, functions that work with strings may read beyond the array, causing errors.
Click to reveal answer
beginner
How can you initialize a character array with a string literal?
You can write:
char greeting[] = "hello";
This automatically adds the null terminator and sets the array size to 6.
Click to reveal answer
intermediate
What happens if you forget to add the null terminator in a character array?
The program may read extra garbage characters after the intended string, causing unexpected behavior or crashes.
Click to reveal answer
What does the '\0' character represent in a character array?
AA newline character
BA space character
CA tab character
DThe end of the string
How do you declare a character array to hold the word "cat" including the null terminator?
ABoth B and C
Bchar cat[4] = "cat";
Cchar cat[4] = {'c', 'a', 't', '\0'};
Dchar cat[3] = {'c', 'a', 't'};
What is the size of the array when you declare char name[] = "Bob";?
A3
B4
C5
DDepends on compiler
Which of these is NOT a correct way to initialize a character array?
Achar arr[] = "hello";
Bchar arr[6] = {'h', 'e', 'l', 'l', 'o', '\0'};
Cchar arr[5] = "hello";
Dchar arr[6] = "hello";
What will happen if you print a character array without a null terminator using std::cout?
AIt prints characters until it finds a null terminator, possibly reading garbage
BIt prints only the characters in the array
CIt causes a compile error
DIt prints nothing
Explain what a character array is and why the null terminator is important.
Think about how C++ knows where the text ends.
You got /3 concepts.
    Describe two ways to initialize a character array with the word "dog".
    One way uses quotes, the other uses braces.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the purpose of the null terminator '\0' in a character array in C++?
      easy
      A. It marks the end of the string stored in the array.
      B. It initializes all characters to zero.
      C. It increases the size of the array by one.
      D. It converts characters to uppercase.

      Solution

      1. Step 1: Understand the role of '\0' in character arrays

        The null terminator '\0' is a special character used to mark the end of a string in C++ character arrays.
      2. Step 2: Identify its effect on string handling

        Functions that work with strings stop reading characters when they encounter '\0', so it tells where the string ends.
      3. Final Answer:

        It marks the end of the string stored in the array. -> Option A
      4. Quick Check:

        Null terminator = end of string [OK]
      Hint: Remember '\0' ends the string, like a period ends a sentence. [OK]
      Common Mistakes:
      • Thinking '\0' initializes characters to zero
      • Confusing '\0' with increasing array size
      • Assuming '\0' changes character case
      2. Which of the following is the correct way to declare a character array to hold the word "code" including the null terminator?
      easy
      A. char word[3] = {'c', 'o', 'd', '\0'};
      B. char word[4] = {'c', 'o', 'd', 'e'};
      C. char word[4] = "code";
      D. char word[5] = {'c', 'o', 'd', 'e', '\0'};

      Solution

      1. Step 1: Count characters and null terminator

        The word "code" has 4 letters plus 1 null terminator '\0', so the array size must be 5.
      2. Step 2: Check each option's array size and initialization

        char word[5] = {'c', 'o', 'd', 'e', '\0'}; correctly declares a char array of size 5 and includes the null terminator explicitly.
      3. Final Answer:

        char word[5] = {'c', 'o', 'd', 'e', '\0'}; -> Option D
      4. Quick Check:

        Array size = letters + 1 for '\0' [OK]
      Hint: Array size = number of chars + 1 for '\0'. [OK]
      Common Mistakes:
      • Forgetting to add space for the null terminator
      • Using incorrect array size
      • Not including '\0' explicitly when needed
      3. What will be the output of the following C++ code?
      char arr[6] = "hello";
      arr[0] = 'H';
      std::cout << arr << std::endl;
      medium
      A. hello
      B. Hello
      C. H
      D. Compilation error

      Solution

      1. Step 1: Understand the initial array content

        The array is initialized with "hello" which includes the null terminator automatically, so arr = {'h','e','l','l','o','\0'}.
      2. Step 2: Modify the first character and print

        Changing arr[0] to 'H' updates the first letter. Printing arr outputs the string until '\0', so output is "Hello".
      3. Final Answer:

        Hello -> Option B
      4. Quick Check:

        Changing arr[0] changes first letter [OK]
      Hint: Changing arr[0] changes first letter; output prints until '\0'. [OK]
      Common Mistakes:
      • Expecting output to be lowercase 'hello'
      • Thinking only one character prints
      • Assuming compilation error due to modification
      4. Identify the error in the following code snippet:
      char name[4] = "John";
      std::cout << name << std::endl;
      medium
      A. Incorrect use of double quotes for character array.
      B. Missing semicolon after declaration.
      C. Array size is too small to hold the string and null terminator.
      D. Cannot print character arrays with std::cout.

      Solution

      1. Step 1: Check array size vs string length

        The string "John" has 4 characters plus a null terminator, so it needs an array of size 5.
      2. Step 2: Understand consequences of small array

        Declaring name[4] leaves no space for '\0', causing undefined behavior when printing.
      3. Final Answer:

        Array size is too small to hold the string and null terminator. -> Option C
      4. Quick Check:

        Array size must include space for '\0' [OK]
      Hint: Always add 1 to string length for '\0' in array size. [OK]
      Common Mistakes:
      • Ignoring null terminator space
      • Thinking printing char arrays is invalid
      • Confusing syntax errors with size errors
      5. You want to store the phrase "Hi!" in a character array and then replace the exclamation mark with a question mark. Which code correctly does this?
      hard
      A. char phrase[4] = "Hi!"; phrase[2] = '?'; std::cout << phrase << std::endl;
      B. char phrase[3] = {'H', 'i', '?'}; std::cout << phrase << std::endl;
      C. char phrase[4] = "Hi?"; phrase[3] = '!'; std::cout << phrase << std::endl;
      D. char phrase[3] = "Hi!"; phrase[3] = '?'; std::cout << phrase << std::endl;

      Solution

      1. Step 1: Declare array with correct size for "Hi!"

        The phrase "Hi!" has 3 characters plus 1 for '\0', so array size must be 4.
      2. Step 2: Replace '!' with '?' at correct index

        The '!' is at index 2, so phrase[2] = '?' correctly replaces it.
      3. Step 3: Print the modified phrase

        Printing phrase outputs "Hi?" as expected.
      4. Final Answer:

        char phrase[4] = "Hi!"; phrase[2] = '?'; std::cout << phrase << std::endl; -> Option A
      5. Quick Check:

        Array size = 4; replace index 2 [OK]
      Hint: Array size = chars + 1; replace character by index. [OK]
      Common Mistakes:
      • Using array size too small to hold string and '\0'
      • Replacing wrong index character
      • Confusing initialization with replacement
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard