C specifikátorech typu
Specifikátorech typu v prohlášeních definovat typ deklarace proměnné nebo funkce.
Syntaxe
specifikátor typu:
anulovatchar
short
int
long
float
double
podepsaný
bez znaménka
Struktura nebo unie specifikátor
Specifikátor enum
Název definice TypeDef
Podepsané char, podepsané int, podepsané krátké int, a podepsané long int typy, spolu s jejich unsigned protějšky a enum, se nazývají "" typů.Plovoucí, dvojité, a long double specifikátorech typu jsou označovány jako "plovoucí" nebo "s plovoucí desetinnou čárkou" typy.Můžete použít libovolné specifikátor typu nedílnou nebo s plovoucí desetinnou čárkou v deklaraci proměnné nebo funkce.Pokud specifikátor typu není k dispozici v prohlášení, je považován za int.
Nepovinná klíčová slova podepsané a unsigned lze předcházejí nebo následují nedílnou typů s výjimkou enuma lze také samostatně jako specifikátorech typu v takovém případě jsou jsou chápat jako podepsané int a unsigned int, resp..Pokud je použit samostatně, klíčové slovo int se podepsané.Pokud je použit samostatně, klíčová slova dlouhé a krátké se rozumí long int a short int.
Výčet typů jsou považovány za základní typy.Specifikátory typ výčtu typy jsou popsány v Deklarace výčtu.
Klíčové slovo void má tři použití: Určete funkci vrátit typ určit seznam aplikace typ argumentu pro funkci, která nevyžaduje žádné argumenty a určit ukazatele neurčený typ.Můžete použít void typu prohlásit, funkcí vracejících žádná hodnota nebo deklarovat ukazatel na nespecifikované typu.Viz argumenty informace o void při zobrazí v závorkách za názvem funkce samostatně.
Konkrétní společnosti Microsoft
Kontrola typu je nyní ANSI standardu, což znamená, že typ krátké a int jsou odlišné typy.Například je předefinováním v kompilátoru Microsoft C, který přijato předchozí verze kompilátoru.
int myfunc();
short myfunc();
Tento Další příklad vytvoří také upozornění na nepřímé odkazování na různé typy:
int *pi;
short *ps;
ps = pi; /* Now generates warning */
Kompilátor Microsoft C také generuje varování pro rozdíly v znaménko.Příklad:
signed int *pi;
unsigned int *pu
pi = pu; /* Now generates warning */
Typ void výrazy jsou vyhodnocovány na vedlejší účinky.Nelze použít (neexistující) hodnotu výrazu, který je typu void v jakékoli způsobem, ani can převedete void výraz (o implicitní nebo explicitní převod) pro libovolný typ kromě void.Pokud použijete výraz jiný typ v kontextu kde void výraz je vyžadován, jeho hodnota je ignorována.
Vyhovuje specifikaci ANSI void ** nelze použít jako int **.Pouze void * lze použít jako ukazatel na nespecifikované typu.
Konec konkrétní společnosti Microsoft
Můžete vytvořit další typ specifikátory s typedef prohlášení, jak je popsáno v Deklarace Typedef.Viz Úložiště základní typy informace o velikost každého typu.