CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
exp
EXP
#include <math.h>
double exp(x);
double x; значение с плавающей точкой
Описание.
Функция exp возвращает экспоненциальную функцию своего ар-
гумента x с плавающей точкой.
Возвращаемое значение.
Функция exp возвращает e в степени x. При переполнении фун-
кция возвращает HUGE и устанавливает errno в ERANGE, при потере
значимости exp возвращает 0, но не устанавливает errno.
См.также log.
Пример:
#include <math.h>
double x,y;
.
.
.
y = exp(x);.
_EXPAND
#include <malloc.h> требуется только для объявления
функции
char *_expand(ptr,size);
char *ptr; указатель на ранее захваченный
блок памяти
unsigned size; новый размер в байтах
Описание.
Функция _expand изменяет размер ранее захваченных блоков
памяти, пытаясь расширить или сузить блок без передвижения его
местоположения в heap.
Аргумент ptr указывает на начало блока. Аргумент size зада-
ет новый размер блока в байтах. Содержимое блоков не изменяется.
Аргумент ptr также указывает на освобождающийся блок до тех
пор, пока не будут внешне вызваны calloc, _expand, halloc, malloc
или realloc, либо пока блок будет свободен.
Если ptr указывает на освобожденный блок, то этот блок ос-
тается свободным и после вызова _expand.
Возвращаемое значение.
Функция _expand возвращает char-указатель на перезахвачен-
ный блок памяти. В отличии от realloc, _expand не может передви-
гать блок и изменять его размеры. Это означает, что аргумент ptr
для _expand является тем же самым, что и возвращаемое значение,
если памяти достаточно, чтобы расширить блок без его передвиже-
ния.
Возвращается значение NULL, если памяти недостаточно для
расширения блока. В этом случае объект, на который указывает ptr,
будет расширен настолько, насколько позволяет его расположение.
В памяти, на которую указывает возвращаемое значение, га-
рантировано выравнивание для хранения любого типа объекта.
Новый размер объекта может быть проверен функцией _msize.
Чтобы получить указатель, тип которого отличен от char, ис-
пользуется преобразователь типа возвращаемого значения.
См.также calloc, free, halloc, malloc, _msize, realloc.
Пример:
#include <stdio.h>
#include <malloc.h>
main()
{
long *oldptr;
unsigned int newsize=64000;
oldptr=(long*)malloc(10000*sizeof(long));
printf("Size of memory block pointed to by
oldptr=%u\n", _msize(oldptr));
if (_expand(oldptr,newsize)!= NULL)
printf("expand was able to increase block
to %u\n", _msize(oldptr));
else
printf("expand was able to increase block to
only %u\n", _msize(oldptr));
}
