logo

Datatyper i C

Hver variabel i C har en tilknyttet datatype. Den specificerer typen af ​​data, som variablen kan gemme som heltal, tegn, flydende, dobbelt osv. Hver datatype kræver forskellige mængder hukommelse og har nogle specifikke operationer, som kan udføres over den. Datatypen er en samling af data med værdier med faste værdier, betydning såvel som dens karakteristika.

Datatyperne i C kan klassificeres som følger:



Typer

Beskrivelse

Primitive datatyper Primitive datatyper er de mest grundlæggende datatyper, der bruges til at repræsentere simple værdier såsom heltal, flydende, tegn osv.
Brugerdefinerede datatyper De brugerdefinerede datatyper defineres af brugeren selv.
Afledte Typer De datatyper, der er afledt af de primitive eller indbyggede datatyper, omtales som afledte datatyper.

Datatyper i C



Forskellige datatyper har også forskellige intervaller, indtil de kan gemme numre. Disse intervaller kan variere fra compiler til compiler. Nedenfor er en liste over områder sammen med hukommelseskravet og formatspecifikationerne på 32-bit GCC compiler .

Datatype
Størrelse (bytes)
Rækkevidde
Formatspecifikation
kort int
2
-32.768 til 32.767
%hd
usigneret kort int
2
0 til 65.535
%hu
usigneret int
4
0 til 4.294.967.295
%i
int
4
-2.147.483.648 til 2.147.483.647
%d
lang int
4
-2.147.483.648 til 2.147.483.647
%ld
usigneret lang int
4
0 til 4.294.967.295
%lu
lang lang int
8
-(2^63) til (2^63)-1
%lld
usigneret lang lang int
8
0 til 18.446.744.073.709.551.615
%llu
signeret char
1
-128 til 127
%c
usigneret char
1
0 til 255
%c
flyde
4
1.2E-38 til 3.4E+38 %f
dobbelt
8
1.7E-308 til 1.7E+308 %lf
lang dobbelt
16
3.4E-4932 er 1.1E+4932 %Lf

Bemærk: Den l lang, kort, underskrevet og usigneret er datatypemodifikator, der kan bruges med nogle primitive datatyper for at ændre størrelsen eller længden af ​​datatypen.

Følgende er nogle primære primitive datatyper i C:



Heltals datatype

Heltalsdatatypen i C bruges til at gemme heltalstallene (ethvert tal inklusive positive, negative og nul uden decimaldel). Oktale værdier, hexadecimale værdier og decimalværdier kan gemmes i int datatype i C.

  • Rækkevidde: -2.147.483.648 til 2.147.483.647
  • Størrelse: 4 bytes
  • Formatspecifikation: %d

Syntaks for heltal

Vi brugervar_navn;

Heltalsdatatypen kan også bruges som

forskel på en løve og en tiger
  1. usigneret int: Usigneret int-datatype i C bruges til at gemme dataværdierne fra nul til positive tal, men den kan ikke gemme negative værdier som signeret int.
  2. kort int: Den er mindre i størrelse end int med 2 bytes, så den kan kun gemme værdier fra -32.768 til 32.767.
  3. lang int: Større version af int-datatypen, så kan gemme værdier større end int.
  4. usigneret kort int: Ligner i forhold til kort int som usigneret int med int.

Bemærk: Størrelsen af ​​en heltalsdatatype er compilerafhængig. Vi kan bruge operatørens størrelse for at kontrollere den faktiske størrelse af enhver datatype.

Eksempel 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>

Karakterdatatype

Tegndatatypen tillader dens variabel kun at gemme et enkelt tegn. Tegnets størrelse er 1 byte. Det er den mest basale datatype i C. Den gemmer et enkelt tegn og kræver en enkelt byte hukommelse i næsten alle compilere.

  • Rækkevidde: (-128 til 127) eller (0 til 255)
  • Størrelse: 1 byte
  • Formatspecifikation: %c

Syntaks af char

Det char nøgleord bruges til at erklære variablen af ​​karaktertype:

  char     var_name;>

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

>

java server sider
>

Produktion

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

Flydende datatype

I C-programmering flydende datatype bruges til at gemme flydende kommaværdier. Float i C bruges til at gemme decimal- og eksponentielle værdier. Det bruges til at gemme decimaltal (tal med flydende kommaværdier) med enkelt præcision.

  • Rækkevidde: 1.2E-38 til 3.4E+38
  • Størrelse: 4 bytes
  • Formatspecifikation: %f

Syntaks for float

Det flydende søgeord bruges til at erklære variablen som et flydende komma:

  float     var_name;>

Eksempel på Float

C


css centrering af et billede



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

Dobbelt datatype

EN Dobbelt datatype i C bruges til at gemme decimaltal (tal med flydende kommaværdier) med dobbelt præcision. Det bruges til at definere numeriske værdier, der indeholder tal med decimalværdier i C.

Den dobbelte datatype er dybest set en præcision slags datatype, der er i stand til at holde 64 bit decimaltal eller flydende komma. Da dobbelt har mere præcision sammenlignet med den flydende, så er det meget mere indlysende, at den optager dobbelt så meget hukommelse, der optages af flydende komma-typen. Det kan nemt rumme omkring 16 til 17 cifre efter eller før et decimalkomma.

  • Rækkevidde: 1.7E-308 til 1.7E+308
  • Størrelse: 8 bytes
  • Formatspecifikation: %lf

Syntaks af dobbelt

Variablen kan erklæres som dobbelt præcision flydende komma ved hjælp af dobbelt søgeord:

  double    var_name;>

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

>

>

jfx java tutorial
Produktion

123123123.000000 12.293123 2312312312.123123>

Ugyldig datatype

Den ugyldige datatype i C bruges til at angive, at der ikke er nogen værdi. Det giver ikke en resultatværdi til den, der ringer. Det har ingen værdier og ingen operationer. Det bruges til at repræsentere ingenting. Void bruges på flere måder som funktionsreturtype, funktionsargumenter som void og henvisninger til tomrum .

Syntaks:

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

Eksempel 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

30>

Størrelse af datatyper i C

Størrelsen af ​​datatyperne i C er afhængig af størrelsen af ​​arkitekturen, så vi kan ikke definere den universelle størrelse af datatyperne. Til det giver C-sproget operatoren sizeof() for at kontrollere størrelsen af ​​datatyperne.

Eksempel

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

>

brug af operativsystem
>

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>

For at kontrollere din viden om datatyper i C, gå gennem Quiz om datatyper .