metalbuild
2022-08-30 14:23:41 +08:00
记忆中 The C Programming Language (2nd Edition) by Brian W. Kernighan, Dennis M. Ritchie 这本书有详细说明 我特意翻查了一下 section 4.9 initialization 本小白只是个半途自学的 有错请指出
An array may be initialized by following its declaration with a list of initializers enclosed in braces and separated by commas. For example, to initialize an array days with the number of days in each month:
int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
When the size of the array is omitted, the compiler will compute the length by counting the initializers, of which there are 12 in this case.
>> If there are fewer initializers for an array than the number specified, the missing elements will be zero for extemal, static, and automatic variables. It is an error to have too many initializers. There is no way to specify repetition of an initializer, nor to initialize an element in the middle of an array without supplying all the preceding values as well. <<
Character arrays are a special case of initialization; a string may be used instead of the braces and commas notation:
char pattern [] = "ould";
is a shorthand for the longer but equivalent
char pattern[] = { 'o', 'u', '1', 'd', '\0' };
In this case, the array size is five (four characters plus the terminating ' \0').