Skip to main content
Engineering LibreTexts

19.1: Array Data Type

  • Page ID
    10359
  • Overview

    An array is a sequenced collection of elements of the same data type with a single identifier name. As such, the array data type belongs to the "Complex" category or family of data types. Arrays can have multiple axes (more than one axis). Each axis is a dimension. Thus a single dimension array is also known as a list. A two dimension array is commonly known as a table (a spreadsheet like Excel is a two dimension array). In real life there are occasions to have data organized into multiple dimensioned arrays. Consider a theater ticket with section, row and seat (three dimensions). This module will only cover the single dimension array. Most single dimension arrays are visualized vertically and are often called a list.

    Most programmers are familiar with a special type of array called a string. Strings are basically a single dimension array of characters. Unlike other single dimension arrays, we usually envision a string as a horizontal stream of characters and not vertically as a list. Within C++ the string data type is a length-controlled array and is a pre-defined data class.

    We refer to the individual values as members (or elements) of the array. Programming languages implement the details of arrays differently. Because there is only one identifier name assigned to the array, we have operators that allow us to reference or access the individual members of an array. The operator commonly associated with referencing array members is the index operator. It is important to learn how to define an array and initialize its members. Additionally, the sizeof operator is often used to calculate the number of members in an array.

    Defining an Array in C++

    Example:

    int    ages[5] = {49,48,26,19,16};

    This is the defining of storage space. The square brackets (left [ and right ]) are used here to create the array with five integer members and the identifier name of ages. The assignment with braces (that is a block) establishes the initial values assigned to the members of the array. Note the use of the sequence or comma operator. We could have done it this way:

    int ages[] = {49,48,26,19,16};

    By leaving out the five and having initial values assigned, the compiler will know to create the array with five storage spaces because there are five values listed. This method is preferred because we can simply add members to or remove members from the array by changing the items inside of the braces. We could have also done this:

    int ages[5];

    This would have declared the storage space of five integers with the identifier name of ages but their initial values would have been unknown values (actually there would be values there but we don’t know what they would be and thus think of the values as garbage). We could assign values later in our program by doing this:

    ages[0] = 49;

    ages[1] = 48;

    ages[2] = 26;

    ages[3] = 19;

    ages[4] = 16;

    The members of the array go from 0 to 4; NOT 1 to 5. This is explained in more detail in another Connexions module that covers accessing array members and is listed in the supplemental links provided. See: Array Index Operator.

    Definitions

    Dimension
    An axis of an array.
    List
    A single dimension array.
    Table
    A two dimension array.