Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LekC++_4.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
157 Кб
Скачать
☆

Объявление массивов

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

Пример:

int a [12]; – массив из 12 элементов.

Память может быть зарезервирована для нескольких массивов с помощью одного объявления.

Пример:

int a [12], b[27];

Массивы могут быть объявлены и для хранения других типов данных. Например, для хранения строки символов можно использовать массив типа char.

Инициализация массивов

Начальные значения могут присваиваться при объявлении массива (с помощью списка, заключенного в фигурные скобки):

int a [3] = {3,5,11}; int a [] = {3,8,54} – можно не указывать размер массива, тогда выделяется столько памяти, сколько начальных значений.

Присваивание начального значения - это инициализация. Если начальных значений меньше, чем элементов в массиве int a [3]={3,89}, то остальные элементы автоматически получают нулевое начальное значение.

Можно присвоить нулевые начальные значения с помощью объявления

int n [10] = {0};

которое явно присваивает нулевое начальное значение первому элементу и неявно присваивает нулевые начальные значения оставшимся девяти элементам.

Задание в списке начальных значений больше, чем задано элементов в массиве, является синтаксической ошибкой.

Например,

int a [5] = {37,57,98,76,45,90}; - синтаксическая ошибка.

Рис.4.5.

Массивы символов. Хранение строк в массивах символов.

Массиву символов можно задать начальное значение, используя литеральную константу.

Например, объявление

char string1[ ] = “first”;

присваивает элементам массива string1 в качестве начальных значений отдельные символы строки “first”.

Строка “first” содержит пять символов плюс специальный символ окончания строки – нулевой символ.

Нулевой символ – это нулевая константа ‘\0’.

Все строки заканчиваются этим символом.

Можно было задать

char string1 = {‘f’, ‘i’, ‘r’, ‘s’, ‘t,’ ,’\0’};

Так как строка является массивом символов, то можно получить доступ к отдельным символам строки, используя индексы.

strng1[ 0 ] - это символ ‘f’

strng1[ 3 ] - это символ ‘s’.

Мы можем ввести строку непосредственно в символьный массив с клавиатуры, используя cin и >>.

Например,

char string2 [20];

создает символьный массив из 19 символов и завершающий нулевой символ.

Оператор

cin>>string2;

считывает строку в массив string2.

В данном операторе используется только имя массива и нет никакой информации о его размере.

Программист обязан убедиться в том, что массив, в который записывается строка, способен вместить любую строку, которую пользователь наберет на клавиатуре.

cin считывает символы с клавиатуры до тех пор, пока не встретится первый разделитель в тексте, и при этом не заботится о размерах массива.

Символьный массив, представляющий строку, может быть выведен с помощью cout и <<.

Массив string2 печатается оператором

cout << string2 << endl;

cout также не заботится о размерах массива. Символы строки печатаются до тех пор, пока не встретится завершающий нулевой символ \0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]