Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Моя первая программа на С++.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
6 Мб
Скачать
☆

Определение массива

Для определения массива необходимо указать типы значений, которые он содержит, и максимальное ко- личество элементов, которое может быть в него записано. Синтаксис определения массива показан на рис.10.1. Для того чтобы создать массив, содержащий, например, 31 целое число, надо написать опреде- ление:

int temps[31];

Запомните, что в этом случае используются именно квадратные скобки, а не круглые или фигурные. Мас- сив определяют так же, как и другие переменные, перед main(), если хотят создать внешний массив (дос- тупный для всех функций), и внутри main(), когда хотят определить автоматический массив.

При определении массива одновременно определяются и его отдельные элементы, как это показано на рис.10.2. К первому элементу массива temps обращаются как к temps[0], ко второму— как к temps[1], к третьему— как к temps[2] и так далее. Заметьте, что нумерация элементов массива начинается с 0, так что массив, состоящий из пяти элементов, показан на рисунке как массив, содержащий элементы с номе- рами от 0 до 4. Элемент с номером temp[5] не существует. Число, заключенное в квадратные скобки, на-

зывается индексом (subscript), и про элементы массива можно говорить как про «нулевой элемент массива

temps», «первый элемент массива temps» и так далее.

Рис. 10.1. Синтаксис определения массива

Рис. 10.2. При определении массива также определяютсяи составляющие его элементы

Нельзя использовать индекс, имеющий значение больше указанного максимального количества элементов массива минус один. Если определен массив, имеющий 10элементов, значит максимальным возможным индексом является число9. Компилятор не будет генерировать ошибку, если существует проблема с ин- дексом, но при запуске программы произойдет ошибка выполнения или программа выдаст результаты, далекие от истинных.

Определение строковой переменной на самом деле является определением массива символьных элемен- тов:

char name[5];

С помощью функций gets() и puts() можно вводить и выводить весь массив символьных данных как еди- ное целое, но при работе с другими типами данных эти операции выполняются с каждым элементом мас- сива отдельно.

Ввод значений в массив

После того как вы определили массив, в него можно вводить информацию. Начальные значения элемен- там массива можно присвоить при его определении:

int temps[5] = {45, 56, 12, 98, 12};

Таким образом, мы создали пять элементов, имеющих следующие значения:

temps[0] 45

temps[1]

56

temps[2]

12

temps[3]

98

temps[4]

12

Для инициализации подобного массива используется соответствующая инструкция перед main(). Подоб- ная инициализация возможна и внутри main(), или другой функции, но в этом случае массив должен быть описан как статический:

int temps[5] = {45, 56, 12, 98, 12};

main()

{

static float prices[3] = {23.45, 34.56, 12.34};

Отдельным элементам массива можно присваивать значения внутри main() или другой функции, как в ин- струкции

temps[0] = 45;

Если вы хотите присвоить значение каждому элементу массива, вы можете использовать цикл для ускоре- ния процедуры. В том случае, когда число элементов известно заранее, используйте цикл for:

main()

{

int temps[31]; int index;

for (index = 0; index 31; index++)

{

printf("Введите значение температуры #%d: ", index);

scanf("%d", &temp[index]);

}

}

Переменная index использована здесь для того, чтобы определить количество повторений цикла. В нашем случае цикл будет выполнен 31 раз, по одному на каждый элемент массива. При каждом повторе цикла на экране будет появляться подсказка: