logo

Gegevenstypen in C

Elke variabele in C heeft een bijbehorend gegevenstype. Het specificeert het type gegevens dat de variabele kan opslaan, zoals geheel getal, teken, zwevend, dubbel, enz. Elk gegevenstype vereist verschillende hoeveelheden geheugen en heeft een aantal specifieke bewerkingen die eroverheen kunnen worden uitgevoerd. Het gegevenstype is een verzameling gegevens met waarden met vaste waarden, zowel wat de betekenis als de kenmerken ervan betreft.

De gegevenstypen in C kunnen als volgt worden geclassificeerd:



Soorten

Beschrijving

Primitieve gegevenstypen Primitieve gegevenstypen zijn de meest elementaire gegevenstypen die worden gebruikt voor het weergeven van eenvoudige waarden zoals gehele getallen, floats, tekens, enz.
Door de gebruiker gedefinieerde gegevenstypen De door de gebruiker gedefinieerde gegevenstypen worden door de gebruiker zelf gedefinieerd.
Afgeleide typen De gegevenstypen die zijn afgeleid van de primitieve of ingebouwde gegevenstypen worden afgeleide gegevenstypen genoemd.

Gegevenstypen in C



Verschillende gegevenstypen hebben ook verschillende bereiken waartoe ze getallen kunnen opslaan. Deze bereiken kunnen variëren van compiler tot compiler. Hieronder vindt u een lijst met bereiken, samen met de geheugenvereisten en formaatspecificaties op de 32-bits GCC-compiler .

Data type
Grootte (bytes)
Bereik
Formaatspecificatie
korte int
2
-32.768 tot 32.767
%hd
niet-ondertekende korte int
2
0 tot 65.535
%hu
niet ondertekend int
4
0 tot 4.294.967.295
%in
int
4
-2.147.483.648 tot 2.147.483.647
%D
lang int
4
-2.147.483.648 tot 2.147.483.647
%ld
niet-ondertekend lange int
4
0 tot 4.294.967.295
%lu
lang lang int
8
-(2^63) tot (2^63)-1
%lld
niet ondertekend lang lang int
8
0 tot 18.446.744.073.709.551.615
%llu
ondertekende char
1
-128 tot 127
%C
Ongetekend char
1
0 tot 255
%C
vlot
4
1,2E-38 tot 3,4E+38 %F
dubbele
8
1.7E-308 tot 1.7E+308 %lf
lange dubbele
16
3,4E-4932 is 1,1E+4932 %Lf

Opmerking: De l lang, kort, gesigneerd en ongesigneerd zijn een datatype-modifier die bij sommige primitieve datatypen kan worden gebruikt om de grootte of lengte van het datatype te wijzigen.

Hieronder volgen enkele belangrijke primitieve gegevenstypen in C:



Geheel gegevenstype

Het integer-datatype in C wordt gebruikt om de gehele getallen op te slaan (elk getal inclusief positief, negatief en nul zonder decimaal deel). Octale waarden, hexadecimale waarden en decimale waarden kunnen worden opgeslagen in het gegevenstype int in C.

  • Bereik: -2.147.483.648 tot 2.147.483.647
  • Maat: 4 bytes
  • Formaatspecificatie: %D

Syntaxis van geheel getal

We gebruikenvar_naam;

Het gegevenstype geheel getal kan ook worden gebruikt als

rhel versus centos
  1. niet-ondertekend int: Het niet-ondertekende int-gegevenstype in C wordt gebruikt om de gegevenswaarden van nul tot positieve getallen op te slaan, maar het kan geen negatieve waarden opslaan zoals ondertekende int.
  2. korte int: Het is 2 bytes kleiner dan de int en kan dus alleen waarden opslaan van -32.768 tot 32.767.
  3. lange int: Grotere versie van het int-gegevenstype, zodat waarden groter dan int kunnen worden opgeslagen.
  4. niet-ondertekende korte int: Vergelijkbaar in relatie met korte int als niet-ondertekende int met int.

Opmerking: De grootte van een integer-gegevenstype is afhankelijk van de compiler. We kunnen gebruiken grootte van de operator om de werkelijke grootte van elk gegevenstype te controleren.

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

teken naar int in Java

>

>

Uitvoer

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>

Tekengegevenstype

Met het tekengegevenstype kan de variabele slechts één teken opslaan. De grootte van het teken is 1 byte. Het is het meest basale gegevenstype in C. Het slaat één teken op en vereist in bijna alle compilers één byte geheugen.

  • Bereik: (-128 tot 127) of (0 tot 255)
  • Maat: 1 byte
  • Formaatspecificatie: %C

Syntaxis van char

De char-trefwoord wordt gebruikt om de variabele van het tekentype te declareren:

  char     var_name;>

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

>

>

Uitvoer

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

Zwevend gegevenstype

Bij C-programmeren zwevend gegevenstype wordt gebruikt om drijvende-kommawaarden op te slaan. Float in C wordt gebruikt om decimale en exponentiële waarden op te slaan. Het wordt gebruikt om decimale getallen (getallen met drijvende-kommawaarden) met enkele precisie op te slaan.

  • Bereik: 1,2E-38 tot 3,4E+38
  • Maat: 4 bytes
  • Formaatspecificatie: %F

Syntaxis van vlotter

De zwevend trefwoord wordt gebruikt om de variabele als drijvende komma te declareren:

  float     var_name;>

Voorbeeld van vlotter

C


Linux hernoemt map



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

>

>

Uitvoer

9.000000 2.500000 0.000200>

Dubbel gegevenstype

A Dubbel gegevenstype in C wordt gebruikt om decimale getallen (getallen met drijvende-kommawaarden) met dubbele precisie op te slaan. Het wordt gebruikt om numerieke waarden te definiëren die getallen met decimale waarden in C bevatten.

Het dubbele datatype is in feite een nauwkeurig datatype dat 64 bits decimale getallen of drijvende komma's kan bevatten. Omdat double meer precisie heeft in vergelijking met float, is het veel duidelijker dat het twee keer zoveel geheugen in beslag neemt als het type met drijvende komma. Het kan gemakkelijk ongeveer 16 tot 17 cijfers na of vóór een decimaalteken bevatten.

  • Bereik: 1.7E-308 tot 1.7E+308
  • Maat: 8 bytes
  • Formaatspecificatie: %lf

Syntaxis van dubbel

De variabele kan worden gedeclareerd als drijvende komma met dubbele precisie met behulp van de dubbel trefwoord:

  double    var_name;>

Voorbeeld van dubbel

C


Rihanna leeftijd



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

>

>

Uitvoer

123123123.000000 12.293123 2312312312.123123>

Gegevenstype ongeldig

Het void-gegevenstype in C wordt gebruikt om aan te geven dat er geen waarde aanwezig is. Het geeft geen resultaatwaarde aan de beller. Het heeft geen waarden en geen bewerkingen. Het wordt gebruikt om niets weer te geven. Void wordt op meerdere manieren gebruikt als functieretourtype, functieargumenten als void en aanwijzingen voor leegte .

Syntaxis:

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

Voorbeeld van leegte

C




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

>

>

Uitvoer

30>

Grootte van gegevenstypen in C

De grootte van de datatypen in C is afhankelijk van de grootte van de architectuur, dus we kunnen de universele grootte van de datatypen niet definiëren. Daarvoor biedt de C-taal de operator sizeof() om de grootte van de gegevenstypen te controleren.

Voorbeeld

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

>

>

Uitvoer

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>

Om uw kennis van gegevenstypen in C te controleren, doorloopt u de Quiz over gegevenstypen .