C++ Notes: Arrays

Arrays are similar to ideas in mathematics

An array stores many values in memory using only one name. "Array" in programming means approximately the same thing as array, matrix, or vector does in math. Unlike math, you must declare the array and allocate a fixed amount of memory for it. Subscripts are enclosed in square brackets []. xi in mathematics is x[i] in C++.

Declaring an array

Declare the array arrays size and the type of elements. All elements must be the same type. Write the element type name, the name of the array variable, then the size enclosed in square brackets ("[]").
int scores[100];  // array of 100 ints, scores[0] to scores[99]
char name[40];    // array of 40 chars, name[0] to name[39]

Subscripts start at zero

Subscript ranges always start at zero. This is a bad idea because it isn't the way that humans normally count, but it's the way that C, C++, Java and many other languages do it. Altho the an element with subscript zero is allocated, there is no need to use it, so you can program using subscripts from 1 up. However, most C++ programs use subscripts starting at 0, and we'll use the convention here.

Length of an array

There is no way to find the length of an array. You must keep the size (both the maximum, and currently filled size) of the array in variables. For example,
const int MAXSIZE = 366;
...
int temperature[MAXSIZE];
int numOfTemps = 0;  // number of entries in temperature

Example -- adding all elements of an array

These statements read values into an array and sum them. Assume fewer than 1000 input values.
int a[1000];       // Declare an array of 1000 ints
int n = 0;         // number of values in a.
. . .
while (cin >> a[n]) {
    n++;
}
. . .
int sum = 0;       // Start the total sum at 0.
for (int i=0; i<n; i++) {
    sum = sum + a[i];  // Add the next element to the total
}