Datové typy jsou v programování v jazyce C deklarace proměnných. Ty určují typ a velikost dat spojených s proměnnými. Například
int myVar;
Tady myVar je proměnná typu int
(celé číslo). Velikost int
je 4 bajty.
Základní typy
Tady je tabulka obsahující běžně používané typy v programování v jazyce C pro rychlý přístup.
Typ | Velikost (bajty) | Specifikátor formátu |
---|---|---|
int |
nejméně 2, obvykle 4 | %d , %i |
char |
1 | %c |
float |
4 | %f |
double |
8 | %lf |
short int |
2 obvykle | %hd |
unsigned int |
nejméně 2, obvykle 4 | %u |
long int |
nejméně 4, obvykle 8 | %ld , %li |
long long int |
nejméně 8 | %lld , %lli |
unsigned long int |
nejméně 4 | %lu |
unsigned long long int |
nejméně 8 | %llu |
signed char |
1 | %c |
unsigned char |
1 | %c |
long double |
nejméně 10, obvykle 12 nebo 16 | %Lf |
int
Celá čísla jsou celá čísla, která mohou mít nulovou, kladnou i zápornou hodnotu, ale nemají desetinnou hodnotu. Například 0
, -5
, 10
Pro deklaraci celočíselné proměnné můžeme použít int
int id;
Zde je id proměnná typu integer.
V programování v jazyce C můžete deklarovat více proměnných najednou. Například
int id, age;
Velikost int
je obvykle 4 bajty (32 bitů). A může nabývat 232
různých stavů od -2147483648
do 2147483647
.
float a double
float
a double
slouží k uchování reálných čísel.
float salary;double price;
V jazyce C lze čísla s pohyblivou řádovou čárkou reprezentovat také exponenciálně. Například,
float normalizationFactor = 22.442e2;
Jaký je rozdíl mezi float
a double
?
Velikost float
(datový typ single precision float) je 4 bajty. A velikost double
(datový typ float s dvojitou přesností) je 8 bajtů.
char
Klíčové slovo char
se používá pro deklaraci proměnných znakového typu. Například
char test = 'h';
Velikost znakové proměnné je 1 bajt.
void
void
je neúplný typ. Znamená „nic“ nebo „žádný typ“. Void si můžete představit jako nepřítomný.
Pokud například funkce nic nevrací, její návratový typ by měl být void
.
Poznamenejte, že nelze vytvářet proměnné typu void
.
short a long
Pokud potřebujete použít velké číslo, můžete použít specifikátor typu long
. Zde je uveden postup:
long a;long long b;long double c;
Zde proměnné a a b mohou uchovávat celočíselné hodnoty. A c může uchovávat číslo s pohyblivou řádovou čárkou.
Jste-li si jisti, že bude použito pouze malé celé číslo (rozsah ), můžete použít
short
.
short d;
Vždy můžete zkontrolovat velikost proměnné pomocí operátoru sizeof()
.
#include <stdio.h> int main() { short a; long b; long long c; long double d; printf("size of short = %d bytes\n", sizeof(a)); printf("size of long = %d bytes\n", sizeof(b)); printf("size of long long = %d bytes\n", sizeof(c)); printf("size of long double= %d bytes\n", sizeof(d)); return 0;}
signed a unsigned
V jazyce C jsou signed
a unsigned
modifikátory typu. Jejich použitím můžete změnit uložení datového typu. Například
unsigned int x;int y;
V tomto případě může proměnná x uchovávat pouze nulové a kladné hodnoty, protože jsme použili modifikátor unsigned
.
Vzhledem k tomu, že velikost int
je 4 bajty, může proměnná y uchovávat hodnoty od -231
do 231-1
, zatímco proměnná x může uchovávat hodnoty od 0
do 232-1
.
Další datové typy definované v programování v jazyce C jsou:
- bool Type
- Enumerated type
- Complex types
Derived Data Types
Datové typy odvozené od základních datových typů jsou odvozené typy. Například: pole, ukazatele, funkční typy, struktury atd.
O těchto odvozených datových typech se budeme učit v pozdějších lekcích.