This flow shows how a character array is declared, initialized, accessed, modified, and used as a string in C++.
Execution Sample
C++
char name[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
for (int i = 0; i < 6; i++) {
cout << name[i];
}
This code creates a character array holding "Hello" and prints each character one by one.
Execution Table
Step
i (index)
name[i]
Action
Output
1
0
'H'
Print character at index 0
H
2
1
'e'
Print character at index 1
e
3
2
'l'
Print character at index 2
l
4
3
'l'
Print character at index 3
l
5
4
'o'
Print character at index 4
o
6
5
'\0'
Print character at index 5 (null terminator)
7
6
N/A
i reaches 6, loop ends
💡 Loop ends because i == 6, which is the array size, stopping further access.
Variable Tracker
Variable
Start
After 1
After 2
After 3
After 4
After 5
Final
i
undefined
0
1
2
3
4
6
name[i]
N/A
'H'
'e'
'l'
'l'
'o'
'\0'
Key Moments - 3 Insights
Why does the loop print nothing when it reaches the '\0' character?
The '\0' character is the string terminator and represents 'end of string'. It is not a visible character, so printing it shows no output. See execution_table row 6.
Why do we use '\0' at the end of the character array?
The '\0' marks the end of the string in C-style character arrays. Without it, functions that expect strings may read beyond the array. This is shown in the initialization step in concept_flow.
Can we modify characters in the array after initialization?
Yes, character arrays are mutable, so you can change elements by index. This is shown in concept_flow step 'Modify elements if needed'.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what character is printed at step 3?
A'o'
B'e'
C'l'
D'H'
💡 Hint
Check the 'name[i]' column at step 3 in the execution_table.
At which step does the loop stop printing characters?
AStep 6
BStep 7
CStep 5
DStep 4
💡 Hint
Look at the exit_note and the 'Action' column in execution_table row 7.
If we remove the '\0' character from the array, what happens when printing?
AThe program prints garbage after 'o'.
BThe program prints only 'Hello'.
CThe program crashes immediately.
DThe program prints nothing.
💡 Hint
Recall the key_moments about the importance of '\0' as string terminator.
Concept Snapshot
Character arrays hold sequences of characters.
They are declared like: char arr[size];
Use '\0' to mark string end.
Access elements by index: arr[0], arr[1], ...
Can modify elements anytime.
Used as C-style strings when null-terminated.
Full Transcript
This visual trace shows how a character array is declared and initialized with characters including the null terminator '\0'. The loop prints each character by accessing the array index. The '\0' character signals the end of the string and prints no visible output. Variables 'i' and 'name[i]' change step by step as the loop runs. Key moments clarify why '\0' is needed and why printing it shows no character. The quiz tests understanding of array indexing, loop termination, and the role of '\0'.