An array can be initialized in the declaration by writing a comma-separated list of values enclosed in braces following an equal sign.
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
Altho this looks like an assignment, assignment statements with arrays are not allowed, and this syntax is legal only in a declaration. Size can be set from initial value list
If the size is omitted, the compiler uses the number of values. For example,
// is the same as the statement below:
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
No default value
If an array has no initialization, the values are undefined.
float pressure[10]; // Initial values of pressure undefined.
Missing initialization values use zero
If an explicit array size is specified, but an shorter initiliazation list is specified, the unspecified elements are set to zero.
float pressure[10] = {2.101, 2.32, 1.44};
This not only initializes the first three values, but all remaining elements are set to 0.0. To initialize an array to all zeros, initialize only the first value.
float p1[1000]; // No intitialization.
float p2[1000] = {0.0}; // All 1000 values initialized to zero.
the same as
float p2[1000] = {}; // All 1000 values initialized to zero.
Initialization of character arrays
Character arrays can be initialized on the right by writing a double-quoted string.
char greeting[100] = "Hello"; // Remaining characters zero.
char goodbye[] = "Adios"; // Array size is 6 (final zero on strings).
0 comments:
Post a Comment