Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_3.doc
Скачиваний:
9
Добавлен:
03.11.2018
Размер:
84.48 Кб
Скачать

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

Язык С допускает многомерные массивы, простейшей формой которых является двумерный массив. Можно сказать, что двумерный массив – это массив одномерных массивов. Размерность массива определяется количеством индексов, используемых для ссылки на конкретный элемент массива.

Двумерный массив int a[3][4] можно представить в виде таблички:

Первый индекс

a[0][0]

a[0][1]

a[0][2]

a[0][3]

Второй индекс

a[1][0]

a[1][1]

a[1][2]

a[1][3]

a[2][0]

a[2][1]

a[2][2]

a[2][3]

Первый индекс – номер строки, второй индекс – номер столбца. Количество байт памяти, которое необходимо для хранения массива, вычисляется по формуле

Колич. байт = <размер типа данных>*<колич. строк>*<колич. столбцов>

В памяти компьютера массив располагается непрерывно по строкам, т.е.

a[0][0], a[0][1], a[0][2], a[0][3], a[1][0], a[1][1], a[1][2], a[2][1], ..., a[2][3].

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

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

Пример:

#include<stdio.h>

#include<string.h>

void main( )

{

char text[5][20];

strcpy (text[0], "Turbo Basic");

strcpy (text[1], "Turbo Pascal");

strcpy (text[2], "Borland C++");

strcpy (text[3], "Turbo Prolog");

strcpy (text[4], "Paradox");

}

В результате заполнен массив text[][]. Обратите внимание на то, что в функции strcpy() в массиве используется только первый индекс!

Заполнение массива иллюстрирует следующая таблица:

T

u

r

b

o

B

a

s

i

c

\0

T

u

r

b

o

P

a

s

c

a

l

\0

B

o

r

l

a

n

d

C

+

+

\0

T

u

r

b

o

P

r

o

l

o

g

\0

P

a

r

a

d

o

x

\0

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