Массивы

Массив является сложным объектом, состоящим из объектов-компонентов, называемых элементами одного и того же типа. Простые определения массива имеют вид

Тип данных x[n1][n2]...[nk]

Где x - идентификатор, определяемый в качестве имени массива, а ni - размерности массива. Массив x называется k-мерным массивом с элементами типа тип данных. Элементы i -го измерения имеют индексы от 0 до ni-1. Тип элемента массива может быть одним из основных типов, типом другого массива, типом указателя (pointer), типом структуры (struct) или типом объединения (union). Хотя элементы массива не могут быть функциями, они могут быть указателями на функции. Ниже приведены некоторые примеры определений массива:

int page[10]; /* одномерный массив из 10 элементов, перенумерованный с 0 до 9 */char line[81];float big[10][10], sales[10][5][8]; /*двумерный массив и трехмерный массив*/

Ссылки на элемент k-мерного массива x делаются с помощью следующего обозначения:

x[i1][i2]...[ik]

где ij - целое выражение, при этом 0<=ij<=nj-1, а nj - максимальное значение j -го индекса массива x. Например:

page[5]line[i+j-1]big[i][j]

Указывая только первые p индексов, можно ссылаться на k-p -мерный подмассив k-мерного массива (p<=k), например,

sales[i] /* ссылка на двумерный подмассив массива sales */sales[i][j] /* ссылка на одномерный подмассив */sales[i][j][k] /* ссылка на элемент массива*/

Указатели

Указателем называется компонент заданного типа, являющийся ссылкой на некоторую область памяти. Определение указателя имеет следующий вид:

тип-данных *id1, *id2, *_, *idn

Тип переменных id1, id2, _, idn определяется как тип указателей на тип-данных. Эти переменные служат ссылками на объекты типа тип-данных. Этот тип называется базовым типом переменных-указателей. Ниже приведены несколько примеров определений указателей:

int *pi, *qi;/* указатели на целые объекты */char *c; /* указатель на символьный объект */

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: