DODATEK C PODSUMOWANIE ZMIAN
• Deklaracje extern zawarte wewnątrz bloku mogły być w niektórych implementacjach eksportowane do reszty pliku. W Standardzie jest jasno powiedziane, że zasięgiem takich deklaracji jest tylko zawierający je blok.
• Zasięg parametrów rozciąga się na całą instrukcję złożoną, tworzącą treść funkcji; zmienne zadeklarowane na najwyższym poziomie w funkcji nie mogą zatem zasłonić parametrów.
• Przestrzenie nazw dla identyfikatorów zostały nieco zmienione. W Standardzie wszystkie etykietki są zaliczane do wspólnej klasy; wprowadzono także nową klasę etykiet; patrz p. Al 1.1. Nazwy składowych struktur i unii są związane z tymi strukturami i uniami. (Od pewnego czasu było to powszechną praktyką.)
• Unie mogą być inicjowane; inicjator odnosi się do pierwszej składowej.
• Automatyczne struktury, unie i tablice mogą być inicjowane, choć w ograniczonym zakresie.
• Tablice znakowe z jawnym rozmiarem mogą być inicjowane napisem o dokładnie takiej samej liczbie znaków (znak ’\0’ jest milcząco pomijany).
• Wyrażenie kontrolne i wyrażenia przypadków w instrukcji switch mogą być dowolnego typu całkowitego.
abort, funkcja standardowa 337 abs, funkcja standardowa 338 acos, funkcja standardowa 334 addpoint, funkcja 177 addtree, funkcja 190 adres 17, 51, 129, 130 -, arytmetyka 51, 139 afree, funkcja 139 alloc, funkcja 139, 191 analizator składniowy, program 168 ANSIC, standard 11, 18, 50, 60, 99, 130, 173, 203, 225, 251
a.out, plik wykonywalny 24, 104 argc, licznik argumentów programu 157 argumenty funkcji 19, 25, 30, 49, 51, 58 73, 94, 107, 208, 231, 266, 301 —, przekazywanie przez referencję 51 —, przekazywanie przez wartości 51, 132, 145, 177, 212, 266
—, przekształcenia 30, 32, 73, 266 —, tablice 52, 138 —, wskaźniki 52, 133 —, zmienna liczba 208, 290
- makrowywołania 126
- wywołania funkcji 103
- programu 157
argv, tablica argumentów programu 157, 204 arytmetyka 19, 23
- liczb całkowitych 30
- - zmiennopozycyjnych 30, 344
- modulo 2" 62, 257
- na adresach 51, 139
- wskaźnikach 130, 137, 139, 143, 162, 186, 246, 271
- uzupełnieniowa do 2 80, 95
ASCII, zbiór znaków 41, 63, 70, 305, 332
asetime, funkcja standardowa 342
asin, funkcja standardowa 334
asm, słowo kluczowe 253
assert, makro standardowe 338
assert.h, nagłówek standardowy 321, 338
atan, funkcja standardowa 334
atan2, funkcja standardowa 224, 334
atexit, funkcja standardowa 337
atof. funkcja 92, 104
atof, funkcja standardowa 335
atoi, funkcja 69, 91, 106
atoi, funkcja standardowa 335
atol, funkcja standardowa 335
atrybuty pliku 239
auto, klasa pamięci 56, 119, 256, 278
białe znaki 44,211, 327, 332
biblioteka standardowa 11, 19, 25, 30, 36, 47, 58,
64, 73, 92, 101, 104, 114, 124, 140, 198, 203,
220, 225, 231, 233, 321 binsearch, funkcja 87, 182, 186 bitcount, funkcja 79 bitowy wzorzec bajtu 37, 63, 71 blok 84, 120, 121, 256, 296, 301 błąd dziedziny 334 - zakresu 334 błędy 125
break, instrukcja 89, 96, 299 bsearch, funkcja standardowa 338
calloc, funkcja standardowa 223, 249, 336 case, przypadek w switch 88, 295, 297
349