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. |
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
- 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.
- lyhyt int: Se on kooltaan 2 tavua pienempi kuin int, joten se voi tallentaa vain arvoja välillä -32 768 - 32 767.
- pitkä int: Int-tietotyypin suurempi versio, joten se voi tallentaa arvoja, jotka ovat suurempia kuin int.
- 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 .