CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
farfree
farfree
Функция Освобождает блок, выделенный в глобальной динамической области памяти. Синтаксис #include<alloc.h> void farfree(void far * block); Файл, содержащий alloc.h прототип Описание Функция farfree освобождает предварительно выделенный в глобальной динамической области памяти блок. В модели памяти tiny эту функцию использовать нельзя. В моделях памяти small и medium блоки, выделенные farmalloc, нельзя освободить функцией free и наоборот, т.к. в этих моделях глобальная и локальная области памяти различаются. Возвращаемое Нет. значение Переносимость farfree уникальна для DOS. Смотрите также farcalloc, farmalloc. Пример: #include<stdio.h> #include<alloc.h> #include<string.h> #include<dos.h> int main(void) { char far *fptr; char *str = "Hello"; /* выделить память */ fptr = farcalloc(10,sizeof(char)); /* скопировать строку "Hello" в выделенный блок памяти. */ /* Замечание. Используется функция movedata, поскольку вы можете работать в малой (small) модели памяти, в которой нельзя использовать функции копирова- ния строки, которые подразумевают, что пара- метры имеют тип near */ movedata(FP_SEG(str),FP_OFF(str),FP_SEG(fptr),FP_OFF(fptr), strlen(str)); /* вывести строку. Обратите внимание на модификатор F*/ printf(" Строка с указателем far: %Fs\n",fptr); /* освободить память */ farfree(fptr); return 0; }