Читайте также: |
|
В языке С можно пользоваться массивами, размерность которых больше двух. Общая форма объявления многомерного массива следующая:
тип имя_массива [ Размер1 ][ Размер2 ]...[ РазмерN ];Массивы, у которых число измерений больше трех, используются довольно редко, потому что они занимают большой объем памяти. Например, четырехмерный массив символов размерностью 10x6x9x4 занимает 2160 байтов. Если бы массив содержал 2-байтовые целые, потребовалось бы 4320 байтов. Если бы элементы массива имели тип double, причем каждый элемент (вещественное число двойной точности) занимал бы 8 байтов, то для хранения массива потребовалось бы 17280 байтов. Объем требуемой памяти с ростом числа измерений растет экспоненциально. Например, если к предыдущему массиву добавить пятое измерение, причем его толщину по этому измерению сделать равной всего 10, то его объем возрастет до 172800 байтов.
При обращении к многомерным массивам компьютер много времени затрачивает на вычисление адреса, так как при этом приходится учитывать значение каждого индекса. Поэтому доступ к элементам многомерного массива происходит значительно медленнее, чем к элементам одномерного.
Передавая многомерный массив в функцию, в объявлении параметров функции необходимо указать все размеры измерений, кроме самого левого. Например, если массив m объявлен как
int m[4] [3] [6] [5];то функция, принимающая этот массив, должна быть объявлена примерно так:
void func1(int d[][3][6][5]){ /*... */}Конечно, можно включить в объявление и размер 1-го измерения, но это излишне.
Дата добавления: 2015-08-17; просмотров: 47 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Одномерные массивы | | | Функции |