ANSI C 1

ANSI C 1



DODATEK A PRZEWODNIK JĘZYKA C

Implementacje różnią się reakcjami na dzielenie przez zero i na wszystkie błędy w rachunku zmiennopozycyjnym; te błędy są niekiedy obsługiwane przez niestandardowe funkcje biblioteczne.

A7.1 Generowanie wskaźników

Jeśli typem wyrażenia lub podwyrażenia jest „tablica elementów typu T\ dla pewnego typu T, to wartością wyrażenia jest wskaźnik do pierwszego elementu tej tablicy, a typ wyrażenia zmienia się na „wskaźnik do typu T\ Takie przekształcenie nie zachodzi, gdy wyrażenie jest argumentem jednoargumentowego operatora &, operatorów ++, —, sizeof lub lewym argumentem operatorów przypisania lub . (kropka). Podobnie wyrażenie typu „funkcja zwracająca typ T\ jeśli nie jest argumentem operatora &, przekształca się do typu „wskaźnik do funkcji zwracającej typ T”.

A7.2 Wyrażenia proste

Wyrażeniami prostymi są: identyfikatory, stałe, napisy lub wyrażenia w nawiasach.

wyraienie-proste:

identyfikator

stała    J ‘

napis

( wyrażenie )

Identyfikator jest wyrażeniem prostym pod warunkiem, że został odpowiednio zadeklarowany (patrz p. A8). Deklaracja określa typ identyfikatora. Identyfikator jest l-wartością, jeżeli odnosi się do jakiegoś obiektu (p. A5) i jest typu arytmetycznego, strukturą, unią lub wskaźnikiem.

Stała jest wyrażeniem prostym. Jej typ zależy od jej postaci, tak jak to opisano w p. A2.5.

Napis jest wyrażeniem prostym. Jego początkowym typem jest „tablica znakowa" (dla rozszerzonych napisów - „tablica elementów typu wchar_t"), ale w następstwie reguł podanych w p. A7.1 ten typ zwykle zmienia się do typu „wskaźnik do char" (wchar_t), a wynikiem jest wskaźnik do pierwszego znaku napisu. (Wyjątkami są pewne inicjatory - patrz p. A8.7).

Wyrażenie w nawiasach jest wyrażeniem prostym. Jego typ i wartość są takie same. jak typ i wartość wyrażenia bez nawiasów. Nawiasy nie mają wpływu na to, czy wyrażenie jest l-wartością.

A7 WYRAŻENIA _I    powered by

I Mi si ol

A7.3 Wyrażenia przyrostkowe    I

Operatory w wyrażeniach przyrostkowych są lewostronnie łączne.

wyrażenie-przyrostkowe: wyrażeń i e-pros te

wyratenie-przyrostkowe [ wyrażenie ] wyrażenie-przyrostkowe (lista-argumentównjKwyratenie-przyrostkowe . identyfikator wyrażenie-przyrostkowe -> identyfikator wyrażenie-przyrostkowe ++ wyrażenie-przyrostkowe

lista-argumentów:

wyrażenie-przypisania lista-argumentów , wyrażenie-przypisania

A7.3.1 Odwołania do tablic

Wyrażenie przyrostkowe, po którym następuje wyrażenie ujęte w nawiasy prostokątne, jest wyrażeniem przyrostkowym oznaczającym indeksowane odwołanie do tablicy. Jedno z tych wyrażeń musi być typu „wskaźnik do typu T\ dla pewnego typu 7, a drugie typu całkowitego; typem całego wyrażenia indeksowego jest 7. Wyrażenie E1 [E2J jest identyczne (z definicji) z wyrażeniem *((E1)+(E2)). Dalsze wyjaśnienia na ten temat znajdują się w p. A8.6.2.

A7.3.2 Wywołania funkcji

Wywołanie funkcji składa się z wyrażenia przyrostkowego, zwanego oznacznikiem funkcji, po którym następuje ujęta w nawiasy okrągłe lista (być może pusta) wyrażeń przypisania (p. A7.17). Wyrażenia przypisania, oddzielone od siebie przecinkami, tworzą argumenty funkcji. Jeśli wyrażenie przyrostkowe jest identyfikatorem, dla którego w odpowiednim zasięgu nie ma deklaracji, to identyfikator ten jest domyślnie deklarowany tak, jakby w najbardziej wewnętrznym bloku zawierającym wywołanie funkcji występowała deklaracja

extern int identyfikator ();

Wyrażenie przyrostkowe (być może po domyślnej deklaracji i generacji wskaźnika -p. A7.1) musi być typu „wskaźnik do funkcji zwracającej typ 7”, dla pewnego typu Ty a wartość wywołania funkcji ma typ T.

265


Wyszukiwarka

Podobne podstrony:
ANSI C 1 DODATEK A PRZEWODNIK JĘZYKA _______ 6 Te zasady różnią się pod kilkoma względami od zasad
ANSI C 1 DODATEK A PRZEWODNIK JĘZYKA C union { struct { int type; ł n; struct { int type
ANSI C 4 DODATEK A PRZEWODNIK JĘZYKA C_______ wynikiem jest 1; jeśli odnosi się do tablicy, to wyn
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C ___——- łujących się do samych siebie: struktura lub unia mo
ANSI C 2 DODATEK A PRZEWODNIK JĘZYKA CA8.6 Znaczenie deklaratorów Lista deklaratorów pojawia się p
ANSI C 3 DODATEK A PRZEWODNIK JĘZYKA C_________ Mechanizm makrodefinicji przydaje się do definiowa
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA C_________A2.1 Jednostki leksykalne Istnieje sześć klas jedno
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C_____.____A2.5.2 Stałe znakowe Stała znakowa jest ciągiem zł
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C------- czaj umieszczane w oddzielnych wierszach; w kilku pr
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C_________ Wszystkie z typów zmiennopozycyjnych: pojedynczej
ANSI C 9 DODATEK A PRZEWODNIK JĘZYKA C_______—- Gdy wartość całkowita jest przekształcana do typu
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C_________ Obiekt typu całkowitego można jawnie przekształcić
ANSI C 2 DODATEK A PRZEWODNIK JĘZYKA C W pierwszym wydaniu książki typ wyrażenia przyrostkowego by
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA CA7.8 Operatory przesunięcia Operatory przesunięcia « i » są
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C_____ Wynikiem tej operacji jest bitowa różnica symetryczna
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C__________ rekurencyjnie, podskładowych nie może być kwalifi
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA
ANSI C 9 DODATEK A PRZEWODNIK JĘZYKA C________■ Kwalifikatory typu wskazują specjalne właściwości
ANSI C 3 DODATEK A PRZEWODNIK JĘZYKA C____- tablicą o pięciu elementach, z których każdy jest tabl

więcej podobnych podstron