2.11. Arrays¶
An array is a sequence of data items that are of the same type and stored contiguously in memory.
Arrays can be one dimensional (single sequence of data), two, three, or N dimensional. Regardless of how the data is indexed (to fit the needs of the program design) it is all stored sequentially.
The index of the array always goes from 0 to N - 1, where the size of the array is N.
Square brackets, [size], are used to initialize an array. The size of the array is an integer constant, either a number or a #define constant.
A variable or expression may be used as an array index when referencing an array, but not when declaring it.
Automatic (on the stack) arrays are not initialized by default. It is best to never assume an initial value of an array.
To initialize an array, put the values in brackets.
int a[3] = {3,4,5};
int a[] = {3,4,5}; /* size determined by the initial brackets */
int b[][3] = {{7,8,9},{4,5,6},{3,4,5}}; /* a 3x3 array */
2.11.1. An Array Example¶
#include <stdio.h>
#define N 5
int main(void)
{
int a[N], i, sum=0;
for( i=0; i < N; i++ ) {
a[i] = 7 * i * i;
sum += a[i];
printf( "a[%d] = %d\t", i, a[i] );
}
return 0;
}