Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
4.11Operatorsizeof
47
Należypodkreślićróżnicępomiędzywyrażeniemwarunkowymainstrukcjąwa-
runkowąif.Wyrażenie,jakwidaćwpowyższymprzykładzie,możebyćużytenp.
doprzypisaniawartościzmiennej,podczasgdyrezultatdziałaniainstrukcjioczy-
wiścienie.
4.11
Operatorsizeof
Ostatnimomawianymszczegółowowtympodrozdzialeoperatoremjestjednoargu-
mentowyoperatorsizeof.Jaksamanazwawskazuje,zwracaonrozmiarpodanego
argumentu.Jegowywołanieprzypominawywołaniefunkcji,awywołaćmożnago
nadwasposoby:
sizeof(nazwa_typu);
lubteż:
sizeof(nazwa_zmiennej);
Zwracanyrozmiarjestpodanywbajtach.
Koniecznośćwykorzystaniaoperatorasizeofwiążesięzfaktem,wróżnych
implementacjachkompilatorówjęzykaCtesametypymogąmiećróżnąwielkość
(patrzpodrozdział1.1).JeszczewiększąwagęzyskujeonwjęzykuC++,gdzie
użytkownikmożedeklarowaćwłasnetypyobiektów.
4.12
Priorytetyoperatorów
Wtabeli4.1podsumowanopriorytetyoperatorów,zarównojużomówionych,jak
itych,którebędąomówionewdalszychpodrozdziałach.Operatorywwyższychrzę-
dachmająwyższypriorytet,aoperatoryumieszczonewtymsamymrzędziemają
tensampriorytet.Operator()oznaczawywołaniefunkcji(rozdział6),operator
[]odwołaniedoelementutablicy(podrozdział7.3),operatory0i->oznaczają
odwołaniedoskładnikówunii(podrozdział8.7),operator,tobardzorzadkowy-
korzystywanyoperatorprzecinka,awystępującewdrugimrzędzieoperatory*i&
oznaczająceodniesienieprzezwskaźnikipobranieadresuobiektuomawiarozdział
7.
WystępującewdrugiejkolumnietabeliliteryLiPoznaczająlewostronnąlub
prawostronnąłącznośćoperatorów.Dlaoperatorówjednoargumentowychkierunek
łącznościoznacza,poktórejstronieoperatorastoiargument.Wprzypadkuopera-
torówdwuargumentowychłącznośćoperatorapokazuje,wjakisposóbgrupowane
argumenty,np.prawostronnałącznośćoperatora=oznacza,żewyrażeniu:
x1y1z10;
odpowiada:
(x1(y1(z10)));
Zapisanewdrugimwierszuoperatory*i&tooperatorodniesieniadozmiennej
przezwskaźnikorazoperatorpobraniaadresu.Operatoryteniemająnicwspól-
negozoperatoramimnożenia(wiersztrzeci)iiloczynubitowego(wierszsiódmy),