You are on page 1of 2

www.cz-milka.

net
2004-10-25
DATOVÝ TYP:
ü Množina hodnot
ü Množina operací nad nimi

Datové typy jazyka C:


ü Skalární:
• Pointry
• Aritmetické:
o Reálný
o Integrální
§ Výčtový
§ Znakový
ü Agregované:
• Pole
• Struktura
• Typ funkce
ü Void
ü Union

Deklarace:
ü Oznámení o používání nějaké proměnné, která má určité vlastnosti – kolik bytů v paměti zabírá a jak je třeba
s nimi zacházet.
ü Deklarace nepřiděluje paměť
ü Nejprve se píše název proměnné, potom lze proměnné vyjmenovat.
ü Klíčová slova, která nesmíme použít pro nic jiného

Celočíselné typy:
ü Celočíselné typy a operátory s celými čísly:
• Celé číslo se znaménkem nebo bez
• Bitové vektory
• Posuny vlevo a vpravo
• Znaky
ü Možnost sčítat písmena
ü Kvalifikátory – mohou rozšiřovat základní datový typ:
• Long
• Short
• Signed
• Unsigned
ü Signed integer – proměnná může být záporná i nezáporná, není-li uvedeno slovo signed a není uvedeno
unsigned, kompilátor bere proměnnou jako signed.
ü Znaky a celá čísla:
• Datový typ char (znak) – obvykle 1 byte
• Není vhodné je načítat jako znaky, ale jako integer
• Při vypisování či načítání znaků nutné používat %, např.: %C
ü Celočíselné konstanty:
• Osmičková konstanta – číslo v osmičkové soustavě, před které je umístěna nula
• Šestnáctková konstanta – číslo v šestnáctkové soustavě, před které je umístěna kombinace 0x nebo 0X
ü Sekvence escape znaků – možnost použít doplňujících informací, např tabulátor, přechod kurzoru na další
řádku aj. => použití escape sekvencí:
• Výzva (zvonek)
• Zpětný krok
• Nová stránka
• Nová řádka
• Tabelátor (horizontální i vertikální)
• Zpětné lomítko
www.cz-milka.net
• Apostrof
• Uvozovky
• Otazník
ü Trojznak:
• Některé znaky užívané v C se nevyskytují na klávesnici => užití trojznaků, které nahrazují žádaný znak:
Sekvence trojznaků Výsledný znak
??= #
??( [
??) ]
??< {
??> }
Aj.

Reálné typy:
ü Float – dlouhý min. 4 byty
ü Double – dlouhý min. 8 bytů
ü Long double

Inicializace

Typové konverze:
ü Implicitní = automatická = tichá = samovolná – bez našeho snažení
• Konverze přiřazení – typ na pravé straně se změní na typ na levé straně
• Intergrální rozšiřující konverze
• Vyhovět pravidlům pro konverzi příslušného operátoru
• Kovertovány argumenty funkcí
ü Explicitní => přetypování, tzv. casting , typecasting, vynucená konverze

Výčtový typ

Datový typ void

Typedef

Pointry:
ü Pointer = ukazatel
ü Adresu proměnné lze získat pomocí operátoru &
ü Je-li pointer ptr: =&moje_prom;
ü Dereference pointru:
• Zisk obsahu místa, na které ukazuje pointer
ü Inicializace pointru:
• Proměnnou naplníme hodnotou a je nutné pro ni mít vyhrazené místo v paměti

You might also like