👈14. Адресная арифметика (сложение и вычитание указателя с числом, сравнение указателей,

вычитание указателей). Связь между указателями и массивами. Примеры с массивами и матрицами.

Адресная арифметика - это способ вычисления адреса какого-либо объекта при помощи арифметических операций над указателями, а также использование указателей в операциях сравнения.

Если p и q указывают на элементы одного массива, то к ним можно применять операторы отношения ==, !=, <, >= и т. д.

p < q истинно, если p указывает на более ранний элемент массива, чем q.

Сложение и вычитание указателей с целым числом

Конструкция p + n означает адрес объекта, занимающего n-е место после объекта, на который указывает p.

Это справедливо к любому типу объекта, на который указывает p; n автоматически домножается на коэффициент, соответствующий размеру объекта.

Результатом вычитания указателей р – q является целое значение, равное расстоянию между адресами, содержащимися в указателях

Связь между указателями и массивами

В Си существует связь между указателями и массивами (матрицами). Доступ к любому элементу массива (матрицы), может быть выполнен с помощью указателя.

Название массива - указатель на его первый элемент.

arr == arr[0] == *arr;

arr[1] == *(arr + 1)

Если мы разыменуем название матрицы, то получим указатель на первую строку матрицы. Дважды разыменуем – получим указатель на первый элемент первой строки матрицы.

mat[0][] == *mat

mat == mat[0][0] == **mat

mat[3][4] == *(*(mat + 3) + 4)

Last updated