logo

Duomenų tipai C

Kiekvienas C kintamasis turi susietą duomenų tipą. Jis nurodo duomenų, kuriuos kintamasis gali saugoti, tipą, pvz., sveikasis skaičius, simbolis, slankusis, dvigubas ir tt Kiekvienam duomenų tipui reikia skirtingo atminties kiekio ir turi tam tikrų specifinių operacijų, kurias galima atlikti. Duomenų tipas yra duomenų rinkinys su reikšmėmis, turinčiomis fiksuotas reikšmes, reikšmę ir charakteristikas.

C duomenų tipai gali būti klasifikuojami taip:



Tipai

apibūdinimas

Primityvūs duomenų tipai Primityvūs duomenų tipai yra paprasčiausi duomenų tipai, naudojami paprastoms reikšmėms, tokioms kaip sveikieji skaičiai, slankioji stulpeliai, simboliai ir kt., pateikti.
Vartotojo nustatyti duomenų tipai Vartotojo apibrėžtus duomenų tipus nustato pats vartotojas.
Išvestiniai tipai Duomenų tipai, gauti iš primityvių arba įtaisytųjų duomenų tipų, vadinami išvestiniais duomenų tipais.

Duomenų tipai C



Skirtingi duomenų tipai taip pat turi skirtingus diapazonus, iki kurių jie gali saugoti skaičius. Šie diapazonai gali skirtis priklausomai nuo kompiliatoriaus. Toliau pateikiamas diapazonų sąrašas kartu su atminties reikalavimais ir formato specifikacijomis 32 bitų GCC kompiliatorius .

Duomenų tipas
Dydis (baitai)
diapazonas
Formato specifikatorius
trumpas tarpt
2
-32 768–32 767
%hd
nepasirašytas trumpas tarpt
2
nuo 0 iki 65 535
%hu
nepasirašytas tarpt
4
nuo 0 iki 4 294 967 295
%in
tarpt
4
-2 147 483 648–2 147 483 647
%d
ilgas tarpt
4
-2 147 483 648–2 147 483 647
%ld
nepasirašytas ilgas tarpt
4
nuo 0 iki 4 294 967 295
%lu
ilgas ilgas tarpt
8
-(2^63) iki (2^63)-1
%lld
nepasirašytas ilgas ilgas tarpt
8
nuo 0 iki 18 446 744 073 709 551 615
%llu
pasirašytas char
1
-128-127
%c
nepasirašytas char
1
nuo 0 iki 255
%c
plūdė
4
1.2E-38 iki 3.4E+38 %f
dvigubai
8
1.7E-308 iki 1.7E+308 %lf
ilgas dvigubas
16
3.4E-4932 yra 1.1E+4932 %Lf

Pastaba: l ong, trumpas, pasirašytas ir nepasirašytas yra duomenų tipo modifikatorius, kurį galima naudoti su kai kuriais primityviais duomenų tipais, norint pakeisti duomenų tipo dydį arba ilgį.

Toliau pateikiami keli pagrindiniai primityvūs duomenų tipai C:



Sveikasis duomenų tipas

Sveikojo skaičiaus duomenų tipas C yra naudojamas sveikiesiems skaičiams saugoti (bet koks skaičius, įskaitant teigiamą, neigiamą ir nulį be dešimtainės dalies). Aštuontainės reikšmės, šešioliktainės reikšmės ir dešimtainės reikšmės gali būti saugomos int duomenų tipe C.

  • Diapazonas: -2 147 483 648–2 147 483 647
  • Dydis: 4 baitai
  • Formato specifikacija: %d

Sveikojo skaičiaus sintaksė

Mes naudojamevar_vardas;

Sveikojo skaičiaus duomenų tipas taip pat gali būti naudojamas kaip

kaip išsiveržti iš amžių ciklo java
  1. nepasirašytas int: Unsigned int duomenų tipas C naudojamas saugoti duomenų reikšmes nuo nulio iki teigiamų skaičių, tačiau jis negali saugoti neigiamų verčių, pvz., signed int.
  2. trumpas int: Jis yra 2 baitais mažesnis nei int, todėl gali saugoti tik reikšmes nuo -32 768 iki 32 767.
  3. long int: Didesnė int duomenų tipo versija, todėl galima saugoti didesnes nei int reikšmes.
  4. nepasirašytas trumpasis int: Panašus santykis su trumpuoju int kaip ir unsigned int su int.

Pastaba: Sveikojo skaičiaus duomenų tipo dydis priklauso nuo kompiliatoriaus. Galime naudoti operatoriaus dydis kad patikrintumėte tikrąjį bet kokio tipo duomenų dydį.

Pavyzdys tarpt

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

>

>

Išvestis

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>

Simbolių duomenų tipas

Simbolių duomenų tipas leidžia jo kintamajame išsaugoti tik vieną simbolį. Simbolio dydis yra 1 baitas. Tai pats paprasčiausias duomenų tipas C. Jis saugo vieną simbolį ir reikalauja vieno baito atminties beveik visuose kompiliatoriuose.

  • Diapazonas: (nuo -128 iki 127) arba (nuo 0 iki 255)
  • Dydis: 1 baitas
  • Formato specifikacija: %c

char sintaksė

The char raktinis žodis naudojamas simbolio tipo kintamajam deklaruoti:

  char     var_name;>

Charo pavyzdys

C




// 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-->98 c-->99> >// here c will be printed> >c = 99;> >printf>(>'Value of c: %c'>, c);> >return> 0;> }>

>

np.random.rand
>

Išvestis

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

Float duomenų tipas

C programavimo srityje float duomenų tipas naudojamas slankiojo kablelio reikšmėms saugoti. Float in C naudojamas dešimtainėms ir eksponentinėms reikšmėms saugoti. Jis naudojamas dešimtainiams skaičiams (skaičiams su slankiojo kablelio reikšmėmis) saugoti vienu tikslumu.

  • Diapazonas: 1.2E-38 iki 3.4E+38
  • Dydis: 4 baitai
  • Formato specifikacija: %f

Plūdės sintaksė

The float raktinis žodis naudojamas deklaruoti kintamąjį kaip slankųjį kablelį:

  float     var_name;>

Plūdės pavyzdys

C


java pasirinkimo rūšiavimas



// 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;> }>

>

>

Išvestis

9.000000 2.500000 0.000200>

Dvigubas duomenų tipas

A Dvigubas duomenų tipas C yra naudojamas dešimtainiams skaičiams (skaičiams su slankiojo kablelio reikšmėmis) saugoti dvigubu tikslumu. Jis naudojamas apibrėžti skaitines reikšmes, kuriose yra skaičiai su dešimtainėmis reikšmėmis C.

Dvigubas duomenų tipas iš esmės yra tikslus duomenų tipas, galintis laikyti 64 bitus po kablelio arba slankiojo kablelio. Kadangi dvigubas turi didesnį tikslumą, palyginti su tuo plūduriuojančiu elementu, daug akivaizdu, kad jis užima dvigubai daugiau atminties nei slankiojo kablelio tipas. Jis gali lengvai sutalpinti apie 16–17 skaitmenų po kablelio arba prieš jį.

  • Diapazonas: 1.7E-308 iki 1.7E+308
  • Dydis: 8 baitai
  • Formato specifikacija: %lf

Dvigubo sintaksė

Kintamasis gali būti deklaruojamas kaip dvigubo tikslumo slankusis kablelis naudojant dvigubas raktinis žodis:

  double    var_name;>

Dvigubo pavyzdys

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

>

>

metodo perkrova
Išvestis

123123123.000000 12.293123 2312312312.123123>

Tuščias duomenų tipas

Tuščiųjų duomenų tipas C naudojamas nurodyti, kad nėra jokios reikšmės. Jis nepateikia rezultato vertės savo skambintojui. Jis neturi vertybių ir jokių operacijų. Jis naudojamas nieko nevaizduoti. Void naudojamas įvairiais būdais kaip funkcijos grąžinimo tipas, funkcijos argumentai kaip void ir rodyklės į negaliojančią .

Sintaksė:

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

Tuštumos pavyzdys

C




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

>

>

Išvestis

30>

Duomenų tipų dydis C

Duomenų tipų dydis C priklauso nuo architektūros dydžio, todėl negalime apibrėžti universalaus duomenų tipų dydžio. Tam C kalba pateikia operatorių sizeof(), kad būtų galima patikrinti duomenų tipų dydį.

Pavyzdys

C




// 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;> }>

>

"kruskal algoritmas"
>

Išvestis

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>

Norėdami patikrinti savo žinias apie duomenų tipus C, eikite į Viktorina apie duomenų tipus .