Yes, when you initialize a C-string using a string literal, the null--character is automatically appended for you.
So strictly speaking the size of the char-array is actually 1, not zero, because it contains the null character. Of course, if you treat the char array as a string, it will tell you the string has 0 length because there is no content but the null character itself.