logo

Tietotyypit C:ssä

Jokaiseen C:n muuttujaan liittyy tietotyyppi. Se määrittää datatyypin, jonka muuttuja voi tallentaa, kuten kokonaisluku, merkki, kelluva, tupla jne. Jokainen tietotyyppi vaatii eri määrän muistia ja sillä on tiettyjä toimintoja, jotka voidaan suorittaa sen yli. Tietotyyppi on kokoelma tietoja, joilla on kiinteät arvot, merkitys ja sen ominaisuudet.

C:n tietotyypit voidaan luokitella seuraavasti:



Tyypit

Kuvaus

Primitiiviset tietotyypit Primitiiviset tietotyypit ovat perustietotyyppejä, joita käytetään edustamaan yksinkertaisia ​​arvoja, kuten kokonaislukuja, kelluvia, merkkejä jne.
Käyttäjän määrittämät tietotyypit Käyttäjän määrittelemät tietotyypit määrittelee käyttäjä itse.
Johdetut tyypit Tietotyyppejä, jotka on johdettu primitiivisistä tai sisäänrakennetuista tietotyypeistä, kutsutaan johdetuiksi tietotyypeiksi.

Tietotyypit C:ssä



Eri tietotyypeillä on myös erilaiset alueet, joihin ne voivat tallentaa numeroita. Nämä alueet voivat vaihdella kääntäjästä toiseen. Alla on luettelo alueista sekä muistivaatimukset ja muodon määritykset 32-bittinen GCC-kääntäjä .

Tietotyyppi
Koko (tavua)
Alue
Muotomäärittäjä
lyhyt int
2
-32 768 - 32 767
%hd
allekirjoittamaton lyhyt väliv
2
0 - 65 535
%hu
allekirjoittamaton int
4
0 - 4 294 967 295
%sisään
int
4
-2 147 483 648 - 2 147 483 647
%d
pitkä int
4
-2 147 483 648 - 2 147 483 647
%ld
allekirjoittamaton pitkä välit
4
0 - 4 294 967 295
%lu
pitkä pitkä int
8
-(2^63) - (2^63)-1
%lld
allekirjoittamaton pitkä pitkä int
8
0 - 18 446 744 073 709 551 615
%llu
allekirjoitettu char
1
-128-127
%c
allekirjoittamaton merkki
1
0-255
%c
kellua
4
1.2E-38 - 3.4E+38 %f
kaksinkertainen
8
1.7E-308 - 1.7E+308 %lf
pitkä tupla
16
3.4E-4932 on 1.1E+4932 %Lf

Huomautus: The l ong, lyhyt, signeerattu ja allekirjoittamaton ovat tietotyypin modifioijia, joita voidaan käyttää joidenkin primitiivisten tietotyyppien kanssa muuttamaan tietotyypin kokoa tai pituutta.

Seuraavassa on joitain tärkeimpiä primitiivisiä tietotyyppejä C:ssä:



Kokonaisluku tietotyyppi

C:n kokonaislukutietotyyppiä käytetään kokonaislukujen tallentamiseen (mikä tahansa luku, mukaan lukien positiivinen, negatiivinen ja nolla ilman desimaaliosaa). Oktaaliarvot, heksadesimaaliarvot ja desimaaliarvot voidaan tallentaa int-tietotyyppiin C:ssä.

  • Alue: -2 147 483 648 - 2 147 483 647
  • Koko: 4 tavua
  • Muotomääritys: %d

Kokonaisluvun syntaksi

Käytämmevar_nimi;

Kokonaislukutietotyyppiä voidaan käyttää myös nimellä

mysql ainutlaatuinen avain
  1. allekirjoittamaton int: Signed int -tietotyyppiä C:ssä käytetään data-arvojen tallentamiseen nollasta positiivisiin lukuihin, mutta se ei voi tallentaa negatiivisia arvoja, kuten signed int.
  2. lyhyt int: Se on kooltaan 2 tavua pienempi kuin int, joten se voi tallentaa vain arvoja välillä -32 768 - 32 767.
  3. pitkä int: Int-tietotyypin suurempi versio, joten se voi tallentaa arvoja, jotka ovat suurempia kuin int.
  4. allekirjoittamaton lyhyt int: Samanlainen suhteessa lyhyeen int:iin kuin unsigned int:n kanssa int.

Huomautus: Kokonaislukutietotyypin koko riippuu kääntäjästä. Voimme käyttää operaattorin koko tarkistaaksesi minkä tahansa tietotyypin todellisen koon.

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

>

>

Lähtö

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>

Merkkien tietotyyppi

Merkkitietotyypin avulla sen muuttuja voi tallentaa vain yhden merkin. Merkin koko on 1 tavu. Se on C:n perustietotyyppi. Se tallentaa yhden merkin ja vaatii yhden tavun muistia lähes kaikissa kääntäjissä.

  • Alue: (-128 - 127) tai (0 - 255)
  • Koko: 1 tavu
  • Muotomääritys: %c

Merkin syntaksi

The char avainsana käytetään ilmoittamaan merkkityypin muuttuja:

java avoin tiedosto
  char     var_name;>

Esimerkki char

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

>

>

Lähtö

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

Float-tietotyyppi

C-ohjelmoinnissa float-tietotyyppi käytetään liukulukuarvojen tallentamiseen. Float in C:tä käytetään desimaali- ja eksponentiaalisten arvojen tallentamiseen. Sitä käytetään desimaalilukujen (lukujen liukulukuarvoilla) tallentamiseen yhdellä tarkkuudella.

  • Alue: 1.2E-38 - 3.4E+38
  • Koko: 4 tavua
  • Muotomääritys: %f

Kellon syntaksi

The float-avainsana käytetään ilmoittamaan muuttuja liukulukuksi:

  float     var_name;>

Esimerkki Floatista

C


lausunnon kattavuus



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

>

>

Lähtö

9.000000 2.500000 0.000200>

Kaksinkertainen tietotyyppi

A Kaksinkertainen tietotyyppi C:ssä käytetään tallentamaan desimaaliluvut (lukuja liukulukuarvoilla) kaksinkertaisella tarkkuudella. Sitä käytetään määrittämään numeerisia arvoja, jotka sisältävät numeroita desimaaliarvoilla C:ssä.

Kaksoistietotyyppi on pohjimmiltaan täsmällinen tietotyyppi, joka pystyy säilyttämään 64 bittiä desimaalilukuja tai liukulukuja. Koska double on tarkempi verrattuna tähän floatiin, on paljon selvempää, että se vie kaksi kertaa niin paljon muistia kuin liukulukutyyppi. Se mahtuu helposti noin 16–17 numeroa desimaalipilkun jälkeen tai ennen sitä.

  • Alue: 1.7E-308 - 1.7E+308
  • Koko: 8 tavua
  • Muotomääritys: %lf

Double syntaksi

Muuttuja voidaan ilmoittaa kaksinkertaisen tarkkuuden liukulukuksi käyttämällä kaksoisavainsana:

  double    var_name;>

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

>

>

Lähtö

123123123.000000 12.293123 2312312312.123123>

Void Data Type

C:n void-datatyyppiä käytetään määrittämään, ettei arvoa ole. Se ei anna tulosarvoa soittajalleen. Sillä ei ole arvoja eikä toimintoja. Sitä käytetään edustamaan mitään. Voidia käytetään useilla tavoilla funktion palautustyyppinä, funktion argumentteja voidina ja osoittimet mitättömiin .

Syntaksi:

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

Esimerkki tyhjyydestä

C


nukkainen loki



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

>

>

Lähtö

30>

Tietotyyppien koko C

Tietotyyppien koko C:ssä riippuu arkkitehtuurin koosta, joten emme voi määritellä tietotyyppien yleistä kokoa. Tätä varten C-kieli tarjoaa sizeof()-operaattorin tietotyyppien koon tarkistamiseksi.

tcp vs udp

Esimerkki

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

>

>

Lähtö

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>

Tarkista tietosi C:n tietotyypeistä käymällä läpi Tietotyyppejä koskeva tietokilpailu .