Книга: Язык Си - руководство для начинающих
Описание указателей
Описание указателей
Мы знаем, как описывать переменные типа int и других типов. Но как описать переменную типа "указатель"? На первый взгляд это можно сделать так:
pointer ptr; /* неправильный способ описания указателя */
Почему нельзя использовать такую запись? Потому что недостаточно сказать, что некоторая переменная является указателем. Кроме этого, необходимо сообщить еще, на переменную какого типа ссылается данный указатель! Причина заключается в том, что переменные разных типов занимают различное число ячеек, в то время как для некоторых операций, связанных с указателями, требуется знать объем отведенной памяти. Ниже приводятся примеры правильного описания указателей:
int *pi; /* указатель на переменную типа целого */
char *рс; /* указатель на символьную переменную */
float *pf, *pg; /* указатели на переменные с плавающей точкой */
Спецификация типа задает тип переменной, на которую ссылается указатель, а символ звездочка (*) определяет саму переменную как указатель. Описание вида int *pi; говорит, что pi - это указатель и что *pi - величина типа int.
РИС. 9.5. Описание и использование указателей.
Точно так же величина (*рс), на которую ссылается переменна рс, имеет тип char. Что можно сказать о самой переменной рс? Мы считаем, что она имеет тип "указатель на переменную типа char". Ее величина, являющаяся адресом,- это целое число без знака, поэтому при выводе на печать значения переменной рс мы будем пользоваться форматом %u.
- Класс TList, массив указателей
- Типы указателей
- Использование указателей для связи между функциями
- Описание массива структур
- Описание работы МП
- Описание разъемов МП
- Описание программы настройки BIOS
- Описание работы ЦПУ
- Описание типов модулей оперативной памяти
- Описание работы накопителя на жестком магнитном диске
- Описание работы CD-DVD-приводов
- Описание видеокарты