Составители:
Рубрика:
45
*p++; /* Увеличиваем на 1 значение, взятое по указателю p */
printf(“ x = %f y = %f”,x,y);
y=1+*p*y; /* Добавляем 1 к произведению значения взятого по
указателю p на y */
printf(“ x = %f y = %f”,x,y);
}
К указателям можно применять операцию присваивания, если они
являются указателями одного типа. Например:
# include < stdio.h >
/* Пример 24 */
main
{
int x=12;
int p, g;
p=&x;
g=p;
printf(“%p”,p);
printf(“%p”,g);
printf(“%d %d”,x,*g);
}
В этом примере приведена спецификация формата %p функции
printf(), которая используется для вывода адреса памяти в шестнадцате-
ричной форме.
Нельзя создать переменную типа void, но можно создать указатель
на такой тип. Указателю на void можно присвоить указатель любого
другого типа. При обратном присваивании необходимо использовать
явное преобразование указателя на void. Например, рассмотрим следу-
ющий фрагмент:
void *pv;
float f, *pf;
pf=&f;
pv=pf;
pf=(float*)pv;
В языке С допустимо присвоить указателю любой адрес памяти. Од-
нако если объявлен указатель на целое (int p), а по адресу, который
присвоен данному указателю, находится переменная типа float (float x),
Страницы
- « первая
- ‹ предыдущая
- …
- 43
- 44
- 45
- 46
- 47
- …
- следующая ›
- последняя »