Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора по яп 2.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
204.42 Кб
Скачать

Цвет фона и вычерчивания

Цвет фона всегда соответствует значению пикселя 0. Когда выполняется очистка области экрана в цвет фона, это означает просто установку всех пикселей этой области в значение 0.

Цветом вычерчивания называется значение, в которое устанавливаются пиксели при вычерчивании линий. Цвет вычерчивания устанавливается функцией setcolor(n), где n есть допустимое для текущей палитры значение пикселя.

36. Одномерные массивы. Инициализация одномерных массивов. Ввод и инициализация массива символов.

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

тип ID_массива [размер] = {список начальных значений};

тип – базовый тип элементов массива (целый, вещественный, символьный); размер – количество элементов в массиве.

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

При декларации массива можно использовать также атрибуты «класс памяти» и const.

Размер массива вместе с типом его элементов определяет объем памяти, необходимый для размещения массива, которое выполняется на этапе компиляции, поэтому размер массива задается только константой или константным выражением. Нельзя задавать массив переменного размера, для этого существует отдельный механизм – динамическое выделение памяти.

Пример объявления массива целого типа: int a[5];

Индексы массивов в языке Си начинаются с 0, т.е. в массиве а первый элемент: а[0], второй – а[1], … пятый – а[4].

Обращение к элементу массива в программе на языке Си осуществляется в традиционном для многих других языков стиле – записи операции обращения по индексу [] (квадратные скобки), например:

a[0]=1;

a[i]++;

a[3]=a[i]+a[i+1];

Пример объявления массива целого типа с инициализацией начальных значений:

int a[5]={2, 4, 6, 8, 10};

Если в группе {…} список значений короче, то оставшимся элементам присваивается 0.

Внимание. В языке Си с целью повышения быстродействия программы отсутствует механизм контроля выхода за границы индексов массивов. При необходимости такой механизм должен быть запрограммирован явно.

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

int intArray_7[];

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

В C++ возможно лишь поэлементное копирование массивов. Этим объясняется то обстоятельство, что в списке объявлений параметров не объявляются параметры-массивы. Объявление одномерного массива-параметра преобразуется к объявлению указателя. Подтверждением этому служит тот факт, что "массив"-параметр невозможно проинициализировать списком значений, что совершенно нормально для обычных массивов:

void ff(int keyArr[ ] = {0,1,2,3,4,5,6,7,8,9});// Ошибка объявления.

void ff(int keyArr[10] = {0,1,2,3,4,5,6,7,8,9});// Ошибка объявления.

Оба варианта прототипа функции будут отвергнуты. При этом транслятор утверждает, что указателю (и это несмотря на явное указание размеров массива!) можно присваивать значение адреса, либо NULL.

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