Реферат: Динамическое распределение памяти
y=(char *)malloc(sizeof(char)); // --//-- *y
z=(char *)malloc(sizeof(char)); // --//-- *z
clrscr(); // Очистка экрана
printf("Adress of *x=%p\n",x); // Вывод на экран адреса начала блока для *x
printf("Adress of *y=%p\n",y); // --//-- *y
printf("Adress of *z=%p\n",z); // --//-- *z
free (z); // Освобождение блока выделенного для *z
free (y); // --//-- *y
free (x); // --//-- *x
/*
Для того чтобы убедиться что для каждого из однобайтовых данных в куче
выделено 16 байт т.е. 1 параграф нужно сравнить три адреса, которые поя-
вяться на экран в рез-те действия этой программы. Если числа в этих адресах
стоящие до двоеточия увеличиваютя (от первого к последнему) на еденичку, то
это означает что на каждый блок выделен один параграф в куче = 16 байт.
Для получения этих адресов в отладчике достаточно нажать Alt+F4 (в режиме
отладчика) затем в появившемся запросе ввести *x появится меню, вверху
которого и будет нужный адрес, аналогично для *y, *z.
*/
return 0;
}
Задание №6
#include <stdio.h>
#include <conio.h>
#include <alloc.h>
#include <process.h>
#include <stdlib.h>
//N_var - число элементов массива
#define N_var 20