logo

Datové typy v C

Každá proměnná v C má přidružený datový typ. Určuje typ dat, která může proměnná ukládat, jako je celé číslo, znak, plovoucí, dvojitá atd. Každý datový typ vyžaduje různé množství paměti a má některé specifické operace, které nad ním lze provádět. Datový typ je soubor dat s hodnotami, které mají pevné hodnoty, význam i jejich charakteristiky.

Datové typy v C lze klasifikovat následovně:



Typy

Popis

Primitivní datové typy Primitivní datové typy jsou nejzákladnější datové typy, které se používají k reprezentaci jednoduchých hodnot, jako jsou celá čísla, float, znaky atd.
Uživatelsky definované datové typy Uživatelsky definované datové typy definuje uživatel sám.
Odvozené typy Datové typy, které jsou odvozeny z primitivních nebo vestavěných datových typů, se označují jako odvozené datové typy.

Datové typy v C



Různé datové typy mají také různé rozsahy, do kterých mohou ukládat čísla. Tyto rozsahy se mohou lišit kompilátor od kompilátoru. Níže je uveden seznam rozsahů spolu s požadavky na paměť a specifikátory formátu na 32bitový kompilátor GCC .

Datový typ
Velikost (bajty)
Rozsah
Specifikátor formátu
krátký int
2
-32 768 až 32 767
%hd
unsigned short int
2
0 až 65 535
%hu
nepodepsaný int
4
0 až 4,294,967,295
%v
int
4
-2 147 483 648 až 2 147 483 647
%d
dlouhá int
4
-2 147 483 648 až 2 147 483 647
%ld
unsigned long int
4
0 až 4,294,967,295
%lu
dlouhý dlouhý int
8
-(2^63) až (2^63)-1
%lld
unsigned long long int
8
0 až 18 446 744 073 709 551 615
%llu
podepsaný char
1
-128 až 127
%C
nepodepsaný char
1
0 až 255
%C
plovák
4
1,2E-38 až 3,4E+38 %F
dvojnásobek
8
1,7E-308 až 1,7E+308 %lf
dlouhý dvojitý
16
3.4E-4932 to 1.1E+4932 %Lf

Poznámka: l ong, krátké, podepsané a nepodepsané jsou modifikátory datového typu, které lze použít s některými primitivními datovými typy ke změně velikosti nebo délky datového typu.

Níže jsou uvedeny některé hlavní primitivní datové typy v C:



Celočíselný datový typ

Datový typ celé číslo v C se používá k uložení celých čísel (jakékoli číslo včetně kladného, ​​záporného a nula bez desetinné části). Osmičkové hodnoty, hexadecimální hodnoty a desítkové hodnoty mohou být uloženy v datovém typu int v C.

  • Rozsah: -2 147 483 648 až 2 147 483 647
  • Velikost: 4 byty
  • Specifikátor formátu: %d

Syntaxe celého čísla

Používámevar_name;

Datový typ integer lze také použít jako

výběr z více tabulek v sql
  1. unsigned int: Datový typ Unsigned int v C se používá k ukládání datových hodnot od nuly do kladných čísel, ale nemůže ukládat záporné hodnoty, jako je například podepsaný int.
  2. krátký int: Je o 2 bajty menší než int, takže může ukládat pouze hodnoty od -32 768 do 32 767.
  3. dlouhý int: Větší verze datového typu int, takže může ukládat hodnoty větší než int.
  4. unsigned short int: Podobné ve vztahu s short int jako unsigned int s int.

Poznámka: Velikost datového typu typu integer je závislá na kompilátoru. Můžeme použít velikost operátora zkontrolovat skutečnou velikost libovolného datového typu.

Pří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ýstup

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 dat znaků

Znakový datový typ umožňuje své proměnné uložit pouze jeden znak. Velikost znaku je 1 bajt. Je to nejzákladnější datový typ v C. Ukládá jeden znak a téměř ve všech kompilátorech vyžaduje jeden bajt paměti.

  • Rozsah: (-128 až 127) nebo (0 až 255)
  • Velikost: 1 bajt
  • Specifikátor formátu: %C

Syntaxe char

The klíčové slovo char se používá k deklaraci proměnné typu znaku:

  char     var_name;>

Příklad char

C




long to int 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ýstup

Value of a: a Value of a after increment is: b Value of c: c>

Plovoucí datový typ

V programování C datový typ float se používá k ukládání hodnot s plovoucí desetinnou čárkou. Float v C se používá k ukládání desetinných a exponenciálních hodnot. Používá se k ukládání desetinných čísel (čísla s plovoucí desetinnou čárkou) s jednoduchou přesností.

  • Rozsah: 1,2E-38 až 3,4E+38
  • Velikost: 4 byty
  • Specifikátor formátu: %F

Syntaxe float

The klíčové slovo float se používá k deklaraci proměnné jako s plovoucí desetinnou čárkou:

  float     var_name;>

Příklad plováku

C


binární typy stromů



// 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ýstup

9.000000 2.500000 0.000200>

Dvojitý datový typ

A Dvojitý datový typ v C se používá k ukládání desetinných čísel (čísla s plovoucí desetinnou čárkou) s dvojnásobnou přesností. Používá se k definování číselných hodnot, které obsahují čísla s desetinnými hodnotami v C.

Datový typ double je v podstatě přesný druh datového typu, který je schopen pojmout 64 bitů desetinných čísel nebo plovoucí desetinné čárky. Protože double má větší přesnost ve srovnání s plovoucí desetinnou čárkou, je mnohem zjevnější, že zabírá dvojnásobek paměti obsazené typem s plovoucí desetinnou čárkou. Může snadno pojmout asi 16 až 17 číslic za nebo před desetinnou čárkou.

  • Rozsah: 1,7E-308 až 1,7E+308
  • Velikost: 8 bajtů
  • Specifikátor formátu: %lf

Syntaxe Double

Proměnnou lze deklarovat jako s plovoucí desetinnou čárkou s dvojitou přesností pomocí dvojité klíčové slovo:

  double    var_name;>

Pří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;> }>

>

>

Výstup

123123123.000000 12.293123 2312312312.123123>

Neplatný datový typ

Datový typ void v C se používá k určení, že není přítomna žádná hodnota. Neposkytuje svému volajícímu výslednou hodnotu. Nemá žádné hodnoty a žádné operace. Používá se k reprezentaci ničeho. Void se používá mnoha způsoby jako návratový typ funkce, argumenty funkce jako void a ukazatele na neplatnost .

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);>

Příklad Void

C




tiskové pole v Javě

// C program to demonstrate> // use of void pointers> #include> int> main()> {> >int> val = 30;> >void>* ptr = &val;> >printf>(>'%d'>, *(>int>*)ptr);> >return> 0;> }>

>

>

Výstup

30>

Velikost datových typů v C

Velikost datových typů v C je závislá na velikosti architektury, nemůžeme tedy definovat univerzální velikost datových typů. Jazyk C proto poskytuje operátor sizeof() pro kontrolu velikosti datových typů.

Příklad

C




java bubble sort

// 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ýstup

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>

Chcete-li si ověřit své znalosti datových typů v C, projděte si Kvíz o typech dat .