logo

Typy údajov v C

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.

Typy údajov v C



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
  1. 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.
  2. 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.
  3. long int: Väčšia verzia dátového typu int, takže môže ukladať hodnoty väčšie ako int.
  4. 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 .