Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пп (кроме 1,21,37).docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
182.5 Кб
Скачать

20. Встроенные массивы: размещение в памяти, доступ к элементам. Размещение массива в памяти

При создании массива память под все его элементы выделяется последовательно для каждого элемента в зависимости от типа массива. Для многомерных массивов в первую очередь изменяются значения самого правого индекса.

Например, для массива char aCh[2][4] будет выделено восемь байтов памяти, в которых в следующем порядке будут размещены элементы массива:

элемент

aCh[0][0]

aCh[0][1]

aCh[0][2]

aCh[0][3]

aCh[1][0]

aCh[1][1]

aCh[1][2]

aCh[1][3]

N байта

1

2

3

4

5

6

7

8

Двухмерные массивы можно рассматривать как матрицу, в которой первый индекс определяет строку, а второй индекс - столбец. Порядок расположения элементов матрицы в памяти - по строкам.

При размещении трехмерного массива char aCh[3][2][5] память под элементы этого массива будет выделяться последовательно в соответствии со следующими значениями индексов:

Рис. 7.1. 

Общий объем выделяемой под массив памяти определяется как произведение всех размерностей массива (общее число элементов), умноженное на длину типа данных массива.

Элементы массива

Доступ к элементам массива может выполняться:

по указателю на массив и индексу элемента, задаваемого в квадратных скобках: первый элемент массива имеет индекс 0;

по указателю на элемент массива.

Для получения адреса элемента массива применяется оператор &.

Имя массива является адресом массива и эквивалентно следующему выражению: &имя_массива[0].

Для определения размерности массива в байтах можно использовать функцию sizeof(имя_массива).

Например:

arrayOfInteger[0]=1;

// Присваивание значения

// первому элементу массива

iInt1=arrayOfInteger[1]=13;

// Групповое присваивание

iInt2=&arrayOfInteger[4];

// Получение адреса пятого

// элемента массива

21.

22. Условные конструкции выбора if/else , select.

Конструкция if используется для выполнения некоторого кода только в том случае, когда указанное условие истинно:

if (условие)   {   код для выполнения, если условие истинно   }

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

Конструкцию if....else используют для выполнения некоторого кода, если условие истинно, и другого кода, если условие ложно:

if (условие)   {   код, который будет выполнен, если условие истинно   } else   {   код, который будет выполнен, если условие ложно   }

Оператор выбора или оператор SELECT (SWITCH)

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

ВЫБОР (Критерий)

ВАРИАНТ Значение 1: Составной оператор

ВАРИАНТ Значение 2: Составной оператор

ВАРИАНТ Значение N: Составной оператор

[ИНАЧЕ: Составной оператор]