ANSI C 8

ANSI C 8



DODATEK B BIBLIOTEKA STANDARDOWA ________

char *getenv(const char *name)

Funkcja getenv zwraca tekst zawarty w zmiennej środowiskowej wskazanej przez nazwę name lub NULL, jeśli taka zmienna nie istnieje. Szczegóły zależą od implementacji.

void *bsearch(const void *key, const void *base, size_t n, size_t size,

int (*cmp) (const void *keyval, const void *datum))

Funkcja bsearch przegląda tablicę base[0]...base[n-1], złożoną z elementów o rozmiarze size, w poszukiwaniu elementu odpowiadającego obiektowi *key. Funkcja wskazana przez cmp musi zwracać wartość ujemną, gdy jej pierwszy argument (klucz szukania) jest mniejszy od drugiego (element tablicy), wartość zero - gdy jest równy, i wartość większą od zera - gdy jest większy. Elementy tablicy base muszą być uporządkowane rosnąco. Funkcja bsearch zwraca wskaźnik do znalezionego elementu lub NULL, jeśli taki element nie istnieje.

void qsort(void *base, size_t n, size_t size,

int (*cmp) (const void *, const void *))

Funkcja qsort porządkuje w rosnącej kolejności tablicę base[0]...base[n-1] złożoną z elementów o rozmiarze size. Funkcja porównująca wskazana przez cmp jest taka sama, jak w funkcji bsearch.

int abs(int n)

Funkcja abs zwraca wartość bezwzględną argumentu n o typie int. long labs(long n)

Funkcja labs zwraca wartość bezwzględną argumentu n o typie long. div_t div(int num, int denom)

Funkcja div oblicza część całkowitą i resztę z dzielenia num/denom. Wyniki są wstawiane do składowych quot i rem struktury typu div_t; składowe są typu int.

Idiv__t ldiv(long num, long denom)

Funkcja ldiv oblicza część całkowitą i resztę z dzielenia num/denom. Wyniki są wstawiane do składowych quot i rem struktury typu ldiv_t; składowe są typu long.


Diagnostyka: nagłówek <assert.h>

Makro assert stosuje się do diagnozowania programów: void assert(int wyrażenie)

I powered by

B7 ZMIENNE LISTY ARGUMENTÓW: NAGŁÓWEK <STDARG.H> -fi-i——— -

| Ml SlOI

Jeśli przy wykonaniu asser\(wyraienie)

wartość wyrażenia jest równa zero, to makro assert wypisze do stderr komunikat w następującej postaci:

Assertion failed: wyrażenie, file nazwa_pliku, linę nnn

a następnie wywoła funkcję abort w celu zakończenia programu. Nazwa pliku źródłowego i numer wiersza (nnn) pochodzą z wbudowanych makr preprocesora: __FILE__ i „LINE__.

Jeśli przed włączeniem nagłówka <assert.h> do pliku źródłowego zdefiniowano makro NDEBUG, to makro assert jest ignorowane.


Zmienne listy argumentów: nagłówek <stdarg.h>

Nagłówek <stdarg.h> zawiera narzędzia do obsługi listy argumentów funkcji o nie-znanej liczbie elementów o nieznanych typach.

Przypuśćmy, że ostatni ^par jest ostatnim wymienionym z nazwy parametrem funkcji f, która ma zmienną liczbę argumentów. Wewnątrz funkcji f należy zadeklarować zmienną ap typu va_list, która będzie wskazywać kolejne argumenty:

va_list ap;

Zmienną ap trzeba zainicjować za pomocą makra va_start przed użyciem któregokolwiek z nienazwanych argumentów funkcji:

va_start(va_list ap, ostatni ^par)]

Od tej pory każde wywołanie makra va_arg udostępni wartość, która ma typ i wartość kolejnego nienazwanego argumentu funkcji; wskaźnik ap zostanie przy tym tak zmodyfikowany, aby następne użycie makra va_arg udostępniło następny argument:

typ va_arg(va_list ap, typ)]

Makro

void va_end(va_list ap);

musi być wywołane raz, po obsłużeniu argumentów, ale przed opuszczeniem funkcji f.

339


Wyszukiwarka

Podobne podstrony:
ANSI C 7 DODATEK B BIBLIOTEKA STANDARDOWA double strtod(const char *s, char **endp) Funkcja strtod
ANSI C 6 DODATEK B BIBLIOTEKA STANDARDOWA s i t są typu void *, argumenty cs i ct są typu const vo
ANSI C 0 DODATEK B BIBLIOTEKA STANDARDOWA DODATEK B BIBLIOTEKA STANDARDOWAWejście i wyjście: nagłó
ANSI C 1 DODATEK B BIBLIOTEKA STANDARDOWA cznej tablicy. Wywołanie tmpnam(s) wstawia tę nazwę do a
ANSI C 2 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-1. Przekształcenia funkcji printf Znak Typ
ANSI C 3 DODATEK B BIBLIOTEKA STANDARDOWA Tablica B-2. Przekształcenia funkcji scanf Znak Dana
ANSI C 4 DODATEK B BIBLIOTEKA STANDARDOWA czytaniu ze strumienia. Dla każdego strumienia można wyc
ANSI C 5 DODATEK B BIBLIOTEKA STANDARDOWA ____- różną od zera (prawda), jeśli argument c spełnia p
ANSI C 9 DODATEK B BIBLIOTEKA STANDARDOWA DODATEK B BIBLIOTEKA STANDARDOWASkoki odległe: nagłówek
ANSI C 0 DODATEK B BIBLIOTEKA STANDARDOWA____ clock_t clock(void) Funkcja clock zwraca czas proces
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C_________ Wszystkie z typów zmiennopozycyjnych: pojedynczej
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C stałe przypadków są różne od wartości wyrażenia i nie wystę
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C ______ wyrażenie-XOR: wy rażenie-AND wyraż.enie-XOR ~ wy
ANSI C 1 DODATEK B BIBLIOTEKA
Dodatek CWybrane funkcje biblioteki standardowejassertDeklaracja •define assert(expr)Plik
190 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJPrzykład •include <assert.h> int
102 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ ispunct sprawdza czy znak jest znakiem prz
1D4 DODATEK C. WY BR AS E FUNKCJE BIBLIOTEKI STANDARDOWEJ /* Przydzielenie początkowego bloku panięc

więcej podobnych podstron