Программирование на C и C++

Онлайн справочник программиста на C и C++

Одномерный массив

Стандартный вид объявления одномерного массива следующий:

тип имя_переменной [размер];

В С массивы должны определяться однозначно, чтобы компилятор мог выделить для них место в памяти. Здесь тип объявляет базовый тип массива и является типом каждого элемента массива. Параметр размер определяет, сколько элементов содержит массив. В одномерном массиве полный размер массива в байтах вычисляется следующим образом:

общее число байт = sizeof (базовый тип) *число элементов

У всех массивов первый элемент имеет индекс 0. Поэтому, если написать

char р [10];

то будет объявлен массив символов из 10 элементов, причем эти элементы адресуются индексом от 0 до 9. Следующая программа загружает целочисленный массив числами от 0 до 9 и выводит его:

#include <stdio.h>
int main(void)
{
int x[10]; /* резервирует место для 10 целочисленных элементов */
int t;
for(t=0; t<10; ++t) x[t] = t;
for(t=0; t<10; ++t) printf("%d ", x[t]);
return 0;
}

В С отсутствует проверка границ массивов. Можно выйти за один конец массива и записать значение в какую-либо переменную, не относящуюся к массиву, или даже в код программы. Работа по предоставлению проверки границ возлагается на программиста. Например, следует убедиться, что массив символов, куда осуществляется ввод, имеет достаточную длину для принятия самой длинной последовательности символов.

Одномерные массивы  это на самом деле списки информации одного типа. Например, таблица. показывает, как массив а располагается в памяти, если он начинается с адреса 1000 и объявлен следующим образом:

char а [7];

Таблица. Массив символов, включающий семь элементов и начинающийся по адресу 1000
a[0] a[1] a[2] a[3] a[4] a[5] a[6]
1000 1001 1002 1003 1004 1005 1006