Sorry for my misunderstanding, and thanks for teaching me.
I had read C99 standard document.
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
On p.130 6.7.8 Initialization "32 EXAMPLE 8 The declaration" says,
-----
char s[] = "abc", t[3] = "abc";
defines ‘‘plain’’ char array objects s and t whose elements are initialized
with character string literals.
This declaration is identical to
char s[] = { 'a', 'b', 'c', '\0' },
t[] = { 'a', 'b', 'c' };
-----
I did not know about this type of initialization.
Best regards,
Kinichiro