powered by
Mi siol
operatorów przypisany tf.4.4 Jednoargumentowy plus
DODATEK A PRZEWODNIK JĘZYKA C----
podane przy opisie operatorów addytywnych (p. A7.7) i (p. A7.17). Wynik nie jest 1-wartością.
Operatory jednoargumentowe są prawostronnie łączne.
wyrażeń ie-jedn o a rg umen to we: wy rażę nie-przyrostkowe ++ wy rażeń ie-jednoargumentowe — wyrażeń ie-jedn oargumen towe operator-jednoargumentowy wyrażenie-rzutowania sizeof wyrażenie-jednoargumentowe sizeof (nazwa-typu )
operator-jednoargumentowy: (jeden z)
A7.4.1 Przedrostkowe operatory zwiększania i zmniejszania
Wyrażenie jednoargumentowe poprzedzone operatorem ++ lub — jest wyrażeniem jednoargumentowym. Argument jest zwiększany (++) lub zmniejszany (—) o 1. Wartością wyrażenia jest wartość po zwiększeniu (zmniejszeniu). Argument musi być 1-wartością; dalsze wymagania w stosunku do argumentu oraz szczegóły operacji są podane przy opisie operatorów addytywnych (p. A7.7) i operatorów przypisania (p. A7.17). Wynik nic jest 1-wartością. jł
A7.4.2 Operator adresu
Jednoargumentowy operator & podaje adres swojego argumentu. Argument musi być 1-wartością nie odnoszącą się ani do pola bitowego, ani do obiektu zadeklarowanego jako register; argument może również być funkcją. Wynikiem jest wskaźnik do obiektu lub funkcji wskazanych 1-wartością. Jeśli typem argumentu jest T, to typem wyniku jest „wskaźnik do typu T\
WYRAŻENIA
argument jednoargumentowego operatora + musi mieć typ arytmetyczny lub wskaź-likowy. Wynikiem jest wartość argumentu. Argument całkowity podlega promocji ty-—wm wvniku iest Dromowany typ argumentu.
Jednoargumentowy 4- jest nowy. Wprowadzono go dla symetrii z jednoargumentowy m operatorem -.
A7.4.5 Jednoargumentowy minus
Argument jednoargumentowego operatora - musi mieć typ arytmetyczny. Wynikiem jest wartość argumentu ze zmienionym znakiem. Argument podlega promocji iypu całkowitego. Zmiana znaku wielkości bez znaku polega na odjęciu promowanej wartości od największej wartości promowanego typu i dodaniu jeden; ujemne zero zawsze jednak równa się zero. Typem wyniku jest promowany typ argumentu.
A7.4.6 Operator dopełnienia jedynkowego
.Argument operatora ~ musi mieć typ całkowity. Wynikiem jest dopełnienie jedynko-we wartości argumentu. Dokonuje się promocji typu całkowitego. Jeśli argument jest bez znaku, operacja polega na odjęciu jego wartości od największej wartości promowanego typu. Jeśli argument jest ze znakiem, operacja polega na przekształceniu promowanego argumentu do odpowiedniego typu bez znaku, zastosowaniu operatora — i ponownym przekształceniu do typu ze znakiem. Typem wyniku jest promowany typ
argumentu.
A7.4.7 Operator negacji logicznej
•Argument operatora ! musi mieć typ całkowity lub wskaźnikowy. Wynikiem jest 1, jeśli wartość argumentu równa się zero, a 0 w przeciwnym przypadku. Typem wyniku
jest int.
A7.4.3 Operator adresowania pośredniego
Jednoargumentowy operator * oznacza adresowanie pośrednie i daje w wyniku od lub funkcję wskazane przez jego argument. Wynik jest 1-wartością, jeżeli argurn® jest wskaźnikiem do typu arytmetycznego, struktury, unii lub wskaźnika. Jeśli typ® argumentu jest „wskaźnik do typu T\ to typem wyniku jest T.
^7.4.8 Operator sizeof
Operator sizeof podaje liczbę bajtów wymaganych do przechowania obiektu o typie Okazanym argumentem. Argument jest albo wyrażeniem (które nie jest obliczane), albo nazwą typu ujętą w nawiasy. Jeśli operator sizeof odnosi się do typu char, to
269
268