Každá premenná v C má priradený typ údajov. Špecifikuje typ údajov, ktoré môže premenná uložiť, ako je celé číslo, znak, plávajúce, dvojité atď. Každý typ údajov vyžaduje iné množstvo pamäte a má určité špecifické operácie, ktoré je možné nad ním vykonávať. Dátový typ je súbor údajov s hodnotami, ktoré majú pevné hodnoty, ako aj ich charakteristiky.
Dátové typy v C možno klasifikovať takto:
Typy | Popis |
---|---|
Primitívne dátové typy | Primitívne dátové typy sú najzákladnejšie dátové typy, ktoré sa používajú na reprezentáciu jednoduchých hodnôt, ako sú celé čísla, float, znaky atď. |
Používateľom definované typy údajov | Užívateľsky definované dátové typy definuje užívateľ sám. |
Odvodené typy | Dátové typy, ktoré sú odvodené z primitívnych alebo vstavaných dátových typov, sa označujú ako odvodené dátové typy. |
Rôzne typy údajov majú tiež rôzne rozsahy, do ktorých môžu ukladať čísla. Tieto rozsahy sa môžu líšiť od kompilátora k kompilátoru. Nižšie je uvedený zoznam rozsahov spolu s požiadavkami na pamäť a špecifikátormi formátu 32-bitový kompilátor GCC .
Dátový typ | Veľkosť (bajty) | Rozsah | Špecifikátor formátu |
---|---|---|---|
krátky int | 2 | -32 768 až 32 767 | %hd |
unsigned short int | 2 | 0 až 65 535 | %hu |
nepodpísaný int | 4 | 0 až 4,294,967,295 | %in |
int | 4 | -2 147 483 648 až 2 147 483 647 | %d |
dlhá int | 4 | -2 147 483 648 až 2 147 483 647 | %ld |
unsigned long int | 4 | 0 až 4,294,967,295 | %lu |
dlhá dlhá int | 8 | -(2^63) až (2^63)-1 | %lld |
unsigned long long int | 8 | 0 až 18 446 744 073 709 551 615 | %llu |
podpísaný char | 1 | -128 až 127 | %c |
nepodpísaný char | 1 | 0 až 255 | %c |
plavák | 4 | 1.2E-38 až 3.4E+38 | %f |
dvojitý | 8 | 1,7E-308 až 1,7E+308 | %lf |
dlhý dvojitý | 16 | 3.4E-4932 to 1.1E+4932 | %Lf |
Poznámka: l ong, krátke, podpísané a nepodpísané sú modifikátory údajových typov, ktoré možno použiť s niektorými primitívnymi typmi údajov na zmenu veľkosti alebo dĺžky údajového typu.
Nasleduje niekoľko hlavných primitívnych dátových typov v C:
Typ celočíselných údajov
Dátový typ celé číslo v C sa používa na ukladanie celých čísel (akékoľvek číslo vrátane kladných, záporných a nulových bez desatinnej časti). Osmičkové hodnoty, hexadecimálne hodnoty a desiatkové hodnoty môžu byť uložené v dátovom type int v C.
- Rozsah: -2 147 483 648 až 2 147 483 647
- Veľkosť: 4 bajty
- Špecifikátor formátu: %d
Syntax celého čísla
Používamevar_name;
Dátový typ celé číslo možno použiť aj ako
výber z viacerých tabuliek v sql
- unsigned int: Dátový typ Unsigned int v C sa používa na ukladanie údajových hodnôt od nuly po kladné čísla, ale nemôže ukladať záporné hodnoty, ako je napríklad signature int.
- krátky int: Má menšiu veľkosť ako int o 2 bajty, takže môže ukladať iba hodnoty od -32 768 do 32 767.
- long int: Väčšia verzia dátového typu int, takže môže ukladať hodnoty väčšie ako int.
- unsigned short int: Podobné vo vzťahu s krátkym int ako unsigned int s int.
Poznámka: Veľkosť celočíselného dátového typu závisí od kompilátora. Môžeme použiť veľkosť operátora na kontrolu skutočnej veľkosti ľubovoľného typu údajov.
Príklad int
C
// C program to print Integer data types.> #include> int> main()> {> > // Integer value with positive data.> > int> a = 9;> > // integer value with negative data.> > int> b = -9;> > // U or u is Used for Unsigned int in C.> > int> c = 89U;> > // L or l is used for long int in C.> > long> int> d = 99998L;> > printf> (> 'Integer value with positive data: %d
'> , a);> > printf> (> 'Integer value with negative data: %d
'> , b);> > printf> (> 'Integer value with an unsigned int data: %u
'> ,> > c);> > printf> (> 'Integer value with an long int data: %ld'> , d);> > return> 0;> }> |
>
>Výkon
Integer value with positive data: 9 Integer value with negative data: -9 Integer value with an unsigned int data: 89 Integer value with an long int data: 99998>
Typ údajov znaku
Typ údajov znaku umožňuje svojej premennej uložiť iba jeden znak. Veľkosť znaku je 1 bajt. Je to najzákladnejší dátový typ v C. Ukladá jeden znak a takmer vo všetkých kompilátoroch vyžaduje jeden bajt pamäte.
- Rozsah: (-128 až 127) alebo (0 až 255)
- Veľkosť: 1 bajt
- Špecifikátor formátu: %c
Syntax char
The kľúčové slovo char sa používa na deklarovanie premennej typu znaku:
char var_name;>
Príklad char
C
trieda objektov v jazyku Java
// C program to print Integer data types.> #include> int> main()> {> > char> a => 'a'> ;> > char> c;> > printf> (> 'Value of a: %c
'> , a);> > a++;> > printf> (> 'Value of a after increment is: %c
'> , a);> > // c is assigned ASCII values> > // which corresponds to the> > // character 'c'> > // a-->97 b-->98c-->99> > // here c will be printed> > c = 99;> > printf> (> 'Value of c: %c'> , c);> > return> 0;> }> |
>
>Výkon
Value of a: a Value of a after increment is: b Value of c: c>
Typ pohyblivých údajov
V programovaní v C dátový typ float sa používa na ukladanie hodnôt s pohyblivou rádovou čiarkou. Float v C sa používa na ukladanie desiatkových a exponenciálnych hodnôt. Používa sa na ukladanie desiatkových čísel (čísla s pohyblivou rádovou čiarkou) s jednoduchou presnosťou.
- Rozsah: 1.2E-38 až 3.4E+38
- Veľkosť: 4 bajty
- Špecifikátor formátu: %f
Syntax floatu
The kľúčové slovo float sa používa na deklarovanie premennej ako s pohyblivou rádovou čiarkou:
float var_name;>
Príklad plaváka
C
java webové služby
// C Program to demonstrate use> // of Floating types> #include> int> main()> {> > float> a = 9.0f;> > float> b = 2.5f;> > // 2x10^-4> > float> c = 2E-4f;> > printf> (> '%f
'> , a);> > printf> (> '%f
'> , b);> > printf> (> '%f'> , c);> > return> 0;> }> |
>
>Výkon
9.000000 2.500000 0.000200>
Dvojitý typ údajov
A Dvojitý typ údajov v C sa používa na ukladanie desiatkových čísel (čísla s pohyblivou rádovou čiarkou) s dvojnásobnou presnosťou. Používa sa na definovanie číselných hodnôt, ktoré obsahujú čísla s desatinnými hodnotami v C.
Dvojitý dátový typ je v podstate presný druh dátového typu, ktorý je schopný pojať 64 bitov desatinných čísel alebo pohyblivých desatinných čiarok. Keďže double má väčšiu presnosť v porovnaní s pohyblivou rádovou čiarkou, je oveľa zrejmejšie, že zaberá dvojnásobok pamäte obsadenej typom s pohyblivou rádovou čiarkou. Ľahko sa do neho zmestí asi 16 až 17 číslic za desatinnou čiarkou alebo pred ňou.
- Rozsah: 1,7E-308 až 1,7E+308
- Veľkosť: 8 bajtov
- Špecifikátor formátu: %lf
Syntax Double
Premenná môže byť deklarovaná ako s pohyblivou rádovou čiarkou s dvojitou presnosťou pomocou dvojité kľúčové slovo:
double var_name;>
Príklad Double
C
// C Program to demonstrate> // use of double data type> #include> int> main()> {> > double> a = 123123123.00;> > double> b = 12.293123;> > double> c = 2312312312.123123;> > printf> (> '%lf
'> , a);> > printf> (> '%lf
'> , b);> > printf> (> '%lf'> , c);> > return> 0;> }> |
supw
>
>Výkon
123123123.000000 12.293123 2312312312.123123>
Typ neplatných údajov
Typ údajov void v C sa používa na určenie, že nie je prítomná žiadna hodnota. Svojmu volajúcemu neposkytuje výslednú hodnotu. Nemá žiadne hodnoty ani operácie. Používa sa na vyjadrenie ničoho. Void sa používa viacerými spôsobmi ako návratový typ funkcie, argumenty funkcie ako void a ukazovatele na neplatné .
Syntax:
// function return type void void exit(int check); // Function without any parameter can accept void. int print( void ); // memory allocation function which // returns a pointer to void. void *malloc (size_t size);>
Príklad Void
C
// C program to demonstrate> // use of void pointers> #include> int> main()> {> > int> val = 30;> > void> * ptr = &val;> > printf> (> '%d'> , *(> int> *)ptr);> > return> 0;> }> |
>
>Výkon
30>
Veľkosť dátových typov v C
Veľkosť dátových typov v C je závislá od veľkosti architektúry, preto nemôžeme definovať univerzálnu veľkosť dátových typov. Jazyk C preto poskytuje operátor sizeof() na kontrolu veľkosti typov údajov.
Príklad
C
tlač javascript
// C Program to print size of> // different data type in C> #include> int> main()> {> > int> size_of_int => sizeof> (> int> );> > int> size_of_char => sizeof> (> char> );> > int> size_of_float => sizeof> (> float> );> > int> size_of_double => sizeof> (> double> );> > printf> (> 'The size of int data type : %d
'> , size_of_int);> > printf> (> 'The size of char data type : %d
'> ,> > size_of_char);> > printf> (> 'The size of float data type : %d
'> ,> > size_of_float);> > printf> (> 'The size of double data type : %d'> ,> > size_of_double);> > return> 0;> }> |
>
>Výkon
The size of int data type : 4 The size of char data type : 1 The size of float data type : 4 The size of double data type : 8>
Ak chcete skontrolovať svoje znalosti o typoch údajov v jazyku C, prejdite na stránku Kvíz o typoch údajov .