ВУЗ:
Составители:
Рубрика:
Устройство одномерного динамического массива схоже с устройством явно определенного одно-
мерного массива. Однако, устройство многомерных динамических и явно определенных массивов раз-
лично.
Рассмотрим устройство многомерного динамического массива на примере двумерного массива.
При создании массива сначала необходимо разместить в памяти одномерный массив, каждый элемент
которого указывает на строку, хранящую данные, а затем создать сами строки для хранения информа-
ции. Организация такого массива показана на рис. 7, а создание массива приведено в примере 18.
Рис. 7 Устройство двумерного динамического массива
П р и м е р 18
int **a, n, m, i;
scanf("%d%d", &n, &m);
a = (int **) malloc(n *sizeof(int *));
for (i = 0 ; i < n; i++) a [i] = (int *) malloc(m *sizeof(int));
Удаление элементов динамического массива производится в порядке, обратном процессу их созда-
ния.
П р и м е р 19
for (i = 0 ; i < n; i++) free(a[i]);
free(a);
11.2 Структуры
Структура представляет собой объединение в единую ячейку памяти конечного множества имено-
ванных элементов разного типа. В отличие от массива, где все элементы имеют единое имя, а доступ к
ним осуществляется путем уточнения имени элемента, в структуре каждый элемент обладает уникаль-
ным именем, посредством которого осуществляется доступ к его содержимому. На тип элементов, вхо-
дящих в структуру, ограничений нет, т.е. в состав структуры могут входить как переменные простых
типов, так и массивы, указатели, структуры и объединения. Элементы структур называют полями.
В языке С определение структурного типа выглядит следующим образом:
struct имя_структурного_типа
{
тип_1 идентификатор_1;
тип_2 идентификатор_2;
...
тип_n идентификатор_n;
} имя_переменной;
При описании структуры возможно пропустить или имя структурного типа или имя переменной. В
зависимости от этого данная запись будет восприниматься как определение, либо как описание струк-
туры. Имя структурного типа в дальнейшем может быть использовано для описания переменных. Для
этого используется сокращенное имя структуры.
name
name
*
name
**
Страницы
- « первая
- ‹ предыдущая
- …
- 24
- 25
- 26
- 27
- 28
- …
- следующая ›
- последняя »
