Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Указатели, как и переменные любого другого типа, могут объединяться в массивы.
Объявление массива указателей на целые числа имеет вид
int *a[10], y;
Теперь каждому из элементов массива указателей a можно присвоить адрес целочисленной переменной y, например: a [1]=& y;
Чтобы теперь найти значение переменной y через данный элемент массива а, необходимо записать * a [1].
В языке Си можно описать переменную типа «указатель на указатель». Это ячейка оперативной памяти (переменная), в которой будет храниться адрес указателя на некоторую переменную. Признак такого типа данных – повторение символа «*» перед идентификатором переменной. Количество символов «*» определяет уровень вложенности указателей друг в друга. При объявлении указателей на указатели возможна их одновременная инициализация. Например:
int a=5;
int *p1=&a;
int **pp1=&p1;
int ***ppp1=&pp1;
Если присвоить переменной а новое значение, например 10, то одинаковые результаты будут получены в следующих операциях:
a=10; *p1=10; **pp1=10; ***ppp1=10;
Для доступа к области ОП, отведенной под переменную а, можно использовать и индексы. Эквивалентны следующие выражения:
*p1 ~ p1[0];
**pp1 ~ pp1[0][0];
***ppp1 ~ ppp1[0][0][0].
Фактически, используя указатели на указатели, мы имеем дело с многомерными массивами.
Дата публикования: 2015-09-17; Прочитано: 168 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!