Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział2
Stałe
Stałą,lubczasamistałądosłowną,nazywamyzapisanąwkodzieprogramujęzyka
Cwartość,któraniemożesięzmieniać.Każdastałamaswójtypokreślonyprzez
swojąpostaćiwartość.Wartośćstałejniemożeprzekraczaćzakresuwartościtypu
stałej.
2.1
Stałecałkowitoliczbowe
Stałatypucałkowitego,czylizapisanawkodzieprogramuliczbabezprzecinkaiwy-
kładnika,jeststałątypuint.Jeśliwartośćstałejjestzbytduża,bymogłasiępo-
mieścićwograniczeniachdlatypuint,zostanieonapotraktowanajakostałatypu
longintbądźnawetlonglongint1.Możliwejesttakżebezpośredniewskazanie
typustałejprzezdodaniedoniejprzyrostkaL(l)lubLL(ll),np.987654321L.
Stałąbezznaku(unsigned)oznaczamy,dodającdoniejliteręUlubu.
Stałącałkowitoliczbowąmożnatakżezapisać,używającnotacjiósemkowejlub
szesnastkowej.Jeślistaładosłownabędziezaczynałasięodcyfry0(zero),tokompi-
latorzinterpretujejakoliczbęósemkową.Próbaużyciawtakiejstałejcyfrosiem
idziewięćspowodujebłądkompilacji.Zkoleistałazaczynającasięod0xlub0X
zostaniezinterpretowanajakozapisheksadecymalny.Zatemprawdopodobnywiek
studentatrzeciegorokustudiówmożnawkodziejęzykaCzapisaćjako22,026lub
0x16.Liczbywnotacjiósemkowejiszesnastkowejmogątakżezawieraćprzyrostki
LiU,zatempoprawnyjestzapis0XFUL.
JęzykCniemawbudowanejobsługiliczbstałopozycyjnychzapisywanychprzy
podstawie2.Konwersjęłańcuchówznakowychreprezentującychliczbywzapisieze-
rojedynkowymdoliczbtypuintmożnawykonaćzapomocąfunkcjistrtol.Istnie-
takżepewnetrikiwykorzystującepreprocesor(patrzpodrozdział9)dowmiarę
wygodnegozapisywanialiczbzerojedynkowychwkodzieprogramu.Funkcjęwy-
pisującądowolnąliczbęstałopozycyjnąwzapisiezerojedynkowymłatwoznaleźć
wInternecie.
1Będzietakwprzypadkustałychzapisanychwnotacjidziesiętnej.Dlanotacjiósemkowej
iszesnastkowejstałaowartościprzekraczającejzakrestypuintbędzietraktowananajpierwjako
unsignedint,potemjakolongint,unsignedlongint,longlongintiwreszciejakounsigned
longlongint.