logo

Datatyper i C

Varje variabel i C har en tillhörande datatyp. Den specificerar vilken typ av data som variabeln kan lagra som heltal, tecken, flytande, dubbel, etc. Varje datatyp kräver olika mängder minne och har vissa specifika operationer som kan utföras över den. Datatypen är en samling data med värden som har fasta värden, såväl betydelse som dess egenskaper.

Datatyperna i C kan klassificeras enligt följande:



Typer

Beskrivning

Primitiva datatyper Primitiva datatyper är de mest grundläggande datatyperna som används för att representera enkla värden som heltal, flytande, tecken, etc.
Användardefinierade datatyper De användardefinierade datatyperna definieras av användaren själv.
Härledda typer Datatyperna som härrör från de primitiva eller inbyggda datatyperna kallas härledda datatyper.

Datatyper i C



Olika datatyper har också olika intervall upp till vilka de kan lagra nummer. Dessa intervall kan variera från kompilator till kompilator. Nedan finns en lista över intervall tillsammans med minneskrav och formatspecifikationer på 32-bitars GCC-kompilator .

Data typ
Storlek (byte)
Räckvidd
Formatspecifikation
kort int
2
-32 768 till 32 767
%hd
osignerad kort int
2
0 till 65 535
%hu
osignerad int
4
O till 4,294,967,295
%i
int
4
-2 147 483 648 till 2 147 483 647
%d
lång int
4
-2 147 483 648 till 2 147 483 647
%ld
osignerad lång int
4
O till 4,294,967,295
%lu
lång lång int
8
-(2^63) till (2^63)-1
%lld
osignerad lång lång int
8
0 till 18 446 744 073 709 551 615
%llu
signerad röding
1
-128 till 127
%c
osignerad röding
1
0 till 255
%c
flyta
4
1.2E-38 till 3.4E+38 %f
dubbel
8
1.7E-308 till 1.7E+308 %lf
lång dubbel
16
3.4E-4932 är 1.1E+4932 %Lf

Notera: Den l ong, kort, signerad och osignerad är datatypmodifierare som kan användas med vissa primitiva datatyper för att ändra storleken eller längden på datatypen.

Följande är några primära primitiva datatyper i C:



Heltalsdatatyp

Heltalsdatatypen i C används för att lagra heltalstalen (vilket som helst tal inklusive positivt, negativt och noll utan decimaldel). Oktala värden, hexadecimala värden och decimala värden kan lagras i int datatyp i C.

  • Räckvidd: -2 147 483 648 till 2 147 483 647
  • Storlek: 4 bytes
  • Formatspecifikation: %d

Syntax för heltal

Vi användervar_name;

Heltalsdatatypen kan också användas som

anaconda vs pythonorm
  1. osignerad int: Osignerad int-datatyp i C används för att lagra datavärdena från noll till positiva tal men den kan inte lagra negativa värden som signerad int.
  2. kort int: Den är mindre i storlek än int med 2 byte så kan bara lagra värden från -32 768 till 32 767.
  3. lång int: Större version av int-datatypen så kan lagra värden större än int.
  4. osignerad kort int: Liknande i relation med kort int som osignerad int med int.

Notera: Storleken på en heltalsdatatyp är kompilatorberoende. Vi kan använda operatörens storlek för att kontrollera den faktiska storleken på någon datatyp.

Exempel på 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;> }>

>

>

Produktion

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>

Teckendatatyp

Teckendatatypen tillåter dess variabel att endast lagra ett enda tecken. Storleken på tecknet är 1 byte. Det är den mest grundläggande datatypen i C. Den lagrar ett enda tecken och kräver en enda byte minne i nästan alla kompilatorer.

java ansluta med mysql
  • Räckvidd: (-128 till 127) eller (0 till 255)
  • Storlek: 1 byte
  • Formatspecifikation: %c

Syntax för char

De char nyckelord används för att deklarera variabeln av teckentyp:

  char     var_name;>

Exempel på röding

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

>

>

Produktion

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

Flytande datatyp

I C-programmering flytdatatyp används för att lagra flyttalsvärden. Float in C används för att lagra decimala och exponentiella värden. Den används för att lagra decimaltal (tal med flyttal) med enkel precision.

  • Räckvidd: 1.2E-38 till 3.4E+38
  • Storlek: 4 bytes
  • Formatspecifikation: %f

Syntax för float

De flytande nyckelord används för att deklarera variabeln som en flyttal:

  float     var_name;>

Exempel på Float

C


hur många miljoner är det i en miljard



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

>

>

Produktion

9.000000 2.500000 0.000200>

Dubbel datatyp

A Dubbel datatyp i C används för att lagra decimaltal (tal med flyttal) med dubbel precision. Den används för att definiera numeriska värden som innehåller tal med decimalvärden i C.

Den dubbla datatypen är i grunden en precisionstyp av datatyp som kan hålla 64 bitar av decimaltal eller flyttal. Eftersom dubbel har mer precision jämfört med den flytande punkten är det mycket mer uppenbart att den upptar dubbelt så mycket minne som flyttalstypen. Det kan lätt rymma cirka 16 till 17 siffror efter eller före en decimalkomma.

  • Räckvidd: 1.7E-308 till 1.7E+308
  • Storlek: 8 byte
  • Formatspecifikation: %lf

Syntax för dubbel

Variabeln kan deklareras som flyttal med dubbel precision med hjälp av dubbelt sökord:

  double    var_name;>

Exempel på dubbel

C




Java typ av variabel
// 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;> }>

>

>

Produktion

123123123.000000 12.293123 2312312312.123123>

Ogiltig datatyp

Den void-datatypen i C används för att ange att inget värde finns. Den ger inte ett resultatvärde till den som ringer. Den har inga värderingar och inga operationer. Det används för att representera ingenting. Void används på flera sätt som funktionsreturtyp, funktionsargument som void och pekare till tomrum .

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

Exempel på Void

C




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

>

>

Produktion

15 av 100,00
30>

Storlek på datatyper i C

Storleken på datatyperna i C är beroende av storleken på arkitekturen, så vi kan inte definiera den universella storleken på datatyperna. För det tillhandahåller C-språket operatorn sizeof() för att kontrollera storleken på datatyperna.

Exempel

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

>

>

Produktion

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>

För att kontrollera dina kunskaper om datatyper i C, gå igenom Frågesport om datatyper .