Chapter 5. Arrays, Qualifiers, and Reading Numbers

That mysterious independent variable of political calculations, Public Opinion.

Thomas Henry Huxley

Arrays

In constructing our building, we have identified each brick (variable) by name. That process is fine for a small number of bricks, but what happens when we want to construct something larger? We would like to point to a stack of bricks and say, “That’s for the left wall. That’s brick 1, brick 2, brick 3...”

Arrays allow us to do something similar with variables. An array is a set of consecutive memory locations used to store data. Each item in the array is called an element. The number of elements in an array is called the dimension of the array. A typical array declaration is:

/* List of data to be sorted and averaged */ 
int    data_list[3];

The above example declares data_list to be an array of three elements. data_list[0], data_list[1], and data_list[2] are separate variables. To reference an element of an array, you use a number called the index—the number inside the square brackets ([ ]). C is a funny language that likes to start counting at 0. So, our three elements are numbered to 2.

Note

Common sense tells you that when you declare data_list to be three elements long, data_list[3] would be valid. Common sense is wrong and data_list[3] is illegal.

Example 5-1 computes the total and average of five numbers.

Example 5-1. array/array.c
[File: array/array.c] #include <stdio.h> float data[5]; /* data to average and total */ float total; ...

Get Practical C Programming, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.