ВУЗ:
Составители:
60
Язык С позволяет определять также массивы
массивов, в результате чего получаются многомерные массивы .
Многомерный массив определяется так же как одномерный, но
указывается нужное число размерностей , каждая в своих квадратных
скобках . Например:
int a[10][20][5];
будет трехмерным массивом. Количество размерностей (измерений ) не
ограничено . Для доступа к элементу многомерного массива используется
нужное количество квадратных скобок с индексами, например:
a[i][j][k]=0;
Фактически запись int a[10][20][5] означает 10 массивов, состоящие
из 20 массивов, каждый из которых, в свою очередь, содержит 5 элементов
типа int. При обращении a[i][j][k] будет означать один элемент типа int,
a[i][j] – массив из 5 элементов типа int (адрес первого элемента), a[i] – 20
массивов из 5 элементов типа int.
Массивы могут быть параметрами функции. В этом случае
размерность указывать необязательно. Вместо этого можно указать пустые
квадратные скобки []. При этом функция сможет работать с массивами
любой размерности. Однако, для работы с такими массивами ей необходим
еще один целочисленный параметр – размерность массива.
С передачей двумерных и многомерных массивов дело обстоит
сложнее. В них может быть не задан только первый размер, остальные
должны быть известны . Иначе компилятор не сможет определить , как
правильно интерпретировать индексирование. Подробнее эта проблема
рассматривается в адресной арифметике.
Инициализируются массивы следующим образом. Наиболее простой
способ инициализации массива - это перечисление элементов в фигурных
скобках , например
double d[2]={3.15,9.81};
Если последние элементы нули, то при записи в фигурных скобках
они могут быть опущены , например
int a[5]={1,2,3};
При инициализации массива можно также не указывать его
размерность . В этом случае компилятор сам считает размерность массива
по количеству значений в инициализаторе:
60 Язык С позволяет определять также массивы массивов, в результате чего получаются многомерные массивы. Многомерный массив определяется так же как одномерный, но указывается нужное число размерностей, каждая в своих квадратных скобках. Например: int a[10][20][5]; будет трехмерным массивом. Количество размерностей (измерений) не ограничено. Для доступа к элементу многомерного массива используется нужное количество квадратных скобок с индексами, например: a[i][j][k]=0; Фактически запись int a[10][20][5] означает 10 массивов, состоящие из 20 массивов, каждый из которых, в свою очередь, содержит 5 элементов типа int. При обращении a[i][j][k] будет означать один элемент типа int, a[i][j] – массив из 5 элементов типа int (адрес первого элемента), a[i] – 20 массивов из 5 элементов типа int. Массивы могут быть параметрами функции. В этом случае размерность указывать необязательно. Вместо этого можно указать пустые квадратные скобки []. При этом функция сможет работать с массивами любой размерности. Однако, для работы с такими массивами ей необходим еще один целочисленный параметр – размерность массива. С передачей двумерных и многомерных массивов дело обстоит сложнее. В них может быть не задан только первый размер, остальные должны быть известны. Иначе компилятор не сможет определить, как правильно интерпретировать индексирование. Подробнее эта проблема рассматривается в адресной арифметике. Инициализируются массивы следующим образом. Наиболее простой способ инициализации массива - это перечисление элементов в фигурных скобках, например double d[2]={3.15,9.81}; Если последние элементы нули, то при записи в фигурных скобках они могут быть опущены, например int a[5]={1,2,3}; При инициализации массива можно также не указывать его размерность. В этом случае компилятор сам считает размерность массива по количеству значений в инициализаторе:
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »