Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб С++_ОСНОВЫ ПРОГРАММИРОВАНИЯ_ч_2_изм_чис...doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
803.84 Кб
Скачать

3.6.Указатели на массивы

В C++ указатели и массивы тесно связаны (см. предыдущую тему). Как уже было сказано, имя массива является указателем, имеющим значение адреса начала массива, поэтому, например очистку элемен­тов массива, можно организовать так (Листинг 3.40):

Листинг 3.40. Очистка элементов массива через указатель

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

При описании массива может быть выполнена инициализация его элементов. Существует два способа инициализации массивов:

  1. Инициализация по умолчанию. Это обычная декларация масси­ва, например такая, как показано выше (Листинг 3.30). В этом случае значение элементов массива не определено.

  2. Явная инициализация элементов. После описания массива по­мещают список начальных значений элементов массива, заключенных в фигурные скобки.

Пример. Демонстрация явной инициализации массива (Листинг3,41).

Листинг 3.41. Явная инициализация элементов массива

Если список инициализации меньше, чем указанный размер массива, то инициализируются только элементы, указанные в списке, осталь­ные так и остаются неопределенными.

Кроме того, при явной инициализации массива, можно не указывать его размер - он вычистится автоматически, но числу инициализиру­ющих элементов (Листинг 3.34):

Листинг 3.34. Явная инициализация массива из четырех целых чисел

3.8.Операция sizeof

C++ имеет очень полезную операцию - sizeof. Результатом операции является размер в байтах типа или объявленной переменной. Применение операций к массивам возвращает число байт, необходимое для размещения всех элементов массива.

Для массивов это удобно еще и тем, что можно вычислить число элементов, располагаемых в массиве.

Пример. Вычисление числа элементов массива (Листинг 3.42):

Листинг 3.42. Вычисление числа элементов массива

Данная программа (Листинг 3.35) сначала вычисляет размер масси­ва в байтах и делит его на размер одного элемента. Нетрудно дога­даться, что результатом работы будет выведено число 16 - число элементов массива т.

3.9.Определение новых типов

Язык C++ имеет механизм для определения новых типов данных, который работает аналогично служебному слову ТYPE языка Pascal. Это определение имеет следующий формат:

Таким образом, можно давать короткие синонимы для часто исполь­зуемых типов (Листинг 3.43):

Листинг 3.43. Определение новых типов

3.10.Многомерные массивы

C++ поддерживает и многомерные массивы. Размерностью считается число индексов, используемых для ссылки на конкретный элемент массива. Многомерные массивы должны описываться и могут при описании инициализироваться.

Пример. Продемонстрировать описание многомерных массивов (Листинг 3.44).

Листинг 3.44. Пример декларации многомерных массивов

Пример. Вывести на экран элементы двумерного массива вещественных чисел (Листинг 3.45):

Листинг 3.45. Вывод на экран содержимого двумерного массива

4.Задание

4.1.Создайте программу «Одномерные массивы» (листинг 3.46):

Листинг 3.46. Программа «Одномерные массивы»

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

4.2.Создайте программу «Операция sizeof» (листинг 3.47):

Листинг 3.47. Программа «Операция sizeof»

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

4.3.Создайте программу «Многомерные массивы» (листинг 3.48):

Листинг 3.48. Программа «Многомерные массивы»

В этой программе проводится явная инициализация и выводится на печать двумерный массив, состоящий из 15 элементов.

4.4.В отчете к данной лабораторной работе опишите назначение каждого оператора для программ, которые приведены в задании, а также структурную схему (блок-схему) программы «Многомерные массивы».

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