Лабораторная работа № 4
Цель работы – Познакомится с адресацией памяти, научится правильно использовать указатели
различных типов.
Постановка задачи
Набрать текст программы, найти в нём ошибки и исправить их, проанализировать
полученные результаты и объяснить, почему они именно такие.
Листинг
#include<stdio.h>
#include<conio.h>
подключение библиотек для работы с некоторыми функциями
int main (void)
структура программы, заголовок функции main
{
тело функции main
int *a,b;
присвоение типа переменных (в данном случае int-целые), *a – в данном случае указатель
float *x,y=3.5;
присвоение типа переменных (в данном случае ;oat-вещественные с плавающей точкой),
*x – в данном случае указатель
double *m,n;
присвоение типа переменных (в данном случае double-вещественные с плавающей
точкой), *x – в данном случае указатель
clrscr();
«Очистка экрана» каждый раз при выполнении данной функции экран программы
полностью очищается
printf("enter b=");
вывод на экран строки “enter b=” c просьбой установить значение переменной b (зададим
значение равное 1)
scanf(“%d”,&b);
ввод данных в ячейку памяти по адресу b
a=&b;
x=&y;
присвоение указателю a значения адреса ячейки памяти b и x значения y
printf("\na=%p\t b=%d\n",a,b);
вывод на экран значений ячеек памяти b, b и значение указателя a (в данном случае это
будет выглядеть так «a=1C80 b=1»)
getch();
ожидание нажатия кнопки enter.
b=-y;
присвоение значению b значение -y
printf("a=%p\t *a=%d\t b=%d\n",a,*a,b);
вывод на экран значений ячеек памяти a, b и значение указателя a
m=(double*)a;
присвоение значению указателя m значение указателя a
printf("a=%p\t m=%p\n",a,m);