- •Void abort();
- •Int errno;
- •26 Символов и имеет форму, приведенную ниже в примере:
- •Int errno;
- •Void assert(expression);
- •Int n; целый порядок
- •Int (*compare)(); указатель на функцию сравнения
- •0 Element1 равен element2
- •Int compare();
- •Int argc;
- •Int numread;
- •Int chdir(pathname);
- •Void clearerr(stream);
- •Int cprintf(format-string[,argument...]);
- •Int result;
- •Int mark[10000];
- •If(!mark[n]) {
- •Int dosexterr(buffer);
- •Int exterror;
- •Int fh, count;
- •Int result;
Int errno;
main()
{
float x,y;
for (errno=EDOM;errno==EDOM;y=acos(x)) {
printf("Cosine=");
scanf("%f",&x);
errno = 0;
}
printf("Arc cosine of %f = %f\n",x,y);
}
Обрaзец выводa:
Cosine = 3
acos: DOMAIN error
Cosine = -1.0
Arc cosine of -1.000000 = 3.141593
ALLOCA
#include <malloc.h> требуется только для объявления
функции
char *alloca(size);
unsigned size; захваченные байты из стека
Описание.
Процедура alloca захватывает байты size из стека программы.
Захваченное пространство автоматически освобождается при выходе
из функции, вызвавшей alloca.
Возвращаемое значение.
Процедура alloca возвращает указатель char на захваченное
пространство.
В памяти, на которую указывает возвращаемое значение, га-
рантировано выравнивание для хранения любого типа объекта. Чтобы
получить указатель на тип, отличный от char, используется преоб-
разователь типа возвращаемого значения. Возвращается значение
NULL, если пространство не было захвачено.
См.также calloc, malloc, realloc.
Предупреждение. Значение указателя, возвращаемого процеду-
рой alloca, не может быть аргументом для free. Так как alloca об-
рабатывает стек, она должна использоваться только в простых опе-
раторах выделения и не должна использоваться в выражениях-аргу-
ментах функций.
Пример:
#include <malloc.h>
int *intarray;
/* захватывает память в стеке для 10 целых */
intarray=(int*)alloca(10*sizeof(int));
ASCTIME
#include <time.h>
char *asctime(time);
struct tm *time; указатель на структуру,
объявленную в <time.h>
Описание.
Функция asctime преобразует время, хранимое как структура,
в символьную строку. Значение time обычно получается из вызова
gmtime или localtime, которые возвращают указатель на структуру
tm, объявленную в <time.h> (cм. gmtime для описания полей струк-
туры tm). Результирующая строка, выработанная asctime, содержит
26 Символов и имеет форму, приведенную ниже в примере:
Mon Jan 02 02:03:55 1980\n\0
Используется 24 часа. Все поля имеют постоянную ширину.
Символ новой строки ('\n') и нулевой символ ('\0') занимают две
последние позиции в строке.
Возвращаемое значение.
Функция asctime возвращает указатель на символьную строку
результата. Возвращаемого значения в случае ошибки нет.
См.также ctime, ftime, gmtime, localtime, time, tzset.
Замечание. Функции asctime и ctime используют один и тот же
статистически захваченный буфер для хранения в нем строки резуль-
тата. Каждый вызов одной из этих процедур уничтожает результат
предыдущего вызова.
Пример:
#include <time.h>
#include <stdio.h>
struct tm *newtime;
long ltime;
.
.
.
time(<ime); /*взять время в секундах*/
newtime=localtime(<ime); /*преобразовать к структуре
tm и напечатать местное
время в виде строки*/
printf("the current date and time are %s\n",
asctime(newtime));
ASIN
#include <math.h>
double asin(x);
double x;
Описaние.
Функция asin вычисляет арксинус x в интервале -n/2 до n/2.
Значение x должно быть между -1 и 1.
Возвращаемое значение.
Функция asin возвращает результат арксинуса. Если x меньше
-1 или больше 1, asin устанавливает errno в EDOM, печатает сооб-
щение об ошибке DOMAIN в stderr и возвращает 0.
Обрaботкa ошибок может быть модифицировaнa при изменении
процедуры matherr.
См.тaкже acos, atan, atan2, cos, matherr, sin, tan.
Пример:
#include <math.h>