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