Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 7_Многомерные массивы

.pdf
Скачиваний:
30
Добавлен:
14.03.2016
Размер:
158.74 Кб
Скачать

Лекция №7. Многомерные массивы

Многомерные (двумерные) массивы

Объявление и инициализация многомерных массивов

Обращение к элементам многомерных массивов

Подмассивы и работа с ними

1

Двумерный массив

Двумерный массив – это одномерный массив, каждый элемент которого является одномерным массивом

Трехмерный массив – это одномерный массив, каждый элемент которого является двумерным массивом, или двумерный массив, каждый

элемент которого является 2 одномерным массивом

 

0

 

1

 

2

0

1

0

1

0

1

0

1

2

5

3

8

0 1

0

0

1

1

2

5

2

3

8

 

 

0

 

 

1

 

 

2

 

0

1

 

0

1

 

0

1

0

0

1

0

7

3

0

9

4

1

2

5

1

9

5

1

6

8

2

3

8

2

0

2

2

9

9

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

Массив размерности N – это одномерный массив подмассивов размерности (N-1) или двумерный массив подмассивов размерности (N-2) ...

3

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

<тип> <имя массива> [<размер 1-го измерения>] [<размер 2-го измерения>]

...

[<размер N-го измерения>];

где N-е измерение соответствует одномерному массиву. Размер памяти, выделяемой под массив:

 

Кол-во байт = sizeof(<тип>)

*

 

<размер 1-го

измерения> *

 

<размер 2-го измерения> *

 

...

 

4

<размер N-го измерения>

Пример объявления двумерного массива

Объявить массив для представления поля в игре «крестики-нолики» (см. рис.)

Подсчитать кол-во памяти, занимаемой массивом

0 x x

x0 x

5

Пример объявления и инициализации двумерного массива

//Поле игры ”крестики-нолики”

//0 – нолик

// 1

крестик

 

0

1

2

// -1

пусто

 

 

 

 

0

0

1

1

 

 

 

 

 

 

 

char battlefield[3][3];

1

1

0

-1

 

 

 

 

2

-1

1

-1

 

 

 

 

 

 

 

 

 

 

Кол-во памяти, занимаемой массивом =

3 x 3 x 1 = 9 байт

6

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

Инициализация элементов массива нулевыми значениями:

<тип> <имя массива> [<размер 1-го измерения>] [<размер 2-го измерения>]

...

[<размер N-го измерения>] = { };

7

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

Инициализация элементов массива различными значениями (константными массивами):

<тип> <имя массива> [ ] [<размер 2-го измерения>]

...

[<размер N-го измерения>]= {<инициализация массива размерности N-1>,

...

<инициализация массива размерности N-1>

8};

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

Инициализация первых элементов массива различными значениями (остальные элементы обнуляются):

<тип> <имя массива> [<размер 1-го измерения>] [<размер 2-го измерения>]

...

[<размер N-го измерения>]=

 

{<инициализация массива размерности N-1>,

 

...

 

<инициализация массива размерности N-1>

 

};

9

где <размер 1-го измерения> больше количества

инициализирующих массивов

Пример инициализации двумерного массива

Объявить массив для представления поля в игре «крестики-нолики» и записать в массив текущее состояние поля (см. рис.)

0 x x

x0 x

10