ВУЗ:
Составители:
Рубрика:
1.3 Указатель на неопределенный тип данных
Существует специальный тип указателя, называемый указателем на
неопределенный тип. Для объявления такого указателя вместо спецификатора
типа указателя задается ключевое слово void
void * point;
Ключевое слово void в объявлении указателя позволяет отсрочить определение
типа, на который ссылается указатель. Часто это дает возможность сделать
программы более эффективными.
Рассмотрим пример.
void main ()
{
char a; int *point;
point = &a;
}
В этой программе указателю на тип int присваивается адрес переменной
символьного типа. При этом компилятор выдаcт ошибку. Однако, ошибки не
будет если поступить так, как это сделано в программе # 1.9
/* программа #1. 9 */
void main ()
{
char a; int b; float c; void *point;
point = &a; point = &b; point = &c;
}
Таким образом, если указатель объявить с ключевым словом void, то ему
можно присваивать адреса любых типов данных. Но для того, чтобы
оперировать таким указателем или объектом, который он адресует, необходимо
явно задать требуемый тип данных в каждой операции с указателем. Это
делается с помощью операции приведения типа, как показано в программе #
1.10.
/* программа # 1.10 */
void main ()
{
double c;void *point;
point = &c;
10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »