Fiecare variabilă din C are asociat un tip de date. Specifică tipul de date pe care variabila le poate stoca, cum ar fi întreg, caracter, flotant, dublu etc. Fiecare tip de date necesită cantități diferite de memorie și are unele operații specifice care pot fi efectuate peste el. Tipul de date este o colecție de date cu valori cu valori fixe, semnificația precum și caracteristicile acesteia.
Tipurile de date din C pot fi clasificate după cum urmează:
Tipuri | Descriere |
---|---|
Tipuri de date primitive | Tipurile de date primitive sunt cele mai elementare tipuri de date care sunt utilizate pentru reprezentarea valorilor simple, cum ar fi numere întregi, virgulă, caractere etc. |
Tipuri de date definite de utilizator | Tipurile de date definite de utilizator sunt definite chiar de utilizator. |
Tipuri derivate | Tipurile de date care sunt derivate din tipurile de date primitive sau încorporate sunt denumite tipuri de date derivate. |
Diferite tipuri de date au, de asemenea, intervale diferite până la care pot stoca numere. Aceste intervale pot varia de la compilator la compilator. Mai jos este o listă de intervale, împreună cu cerințele de memorie și specificatorii de format de pe compilator GCC pe 32 de biți .
Tip de date | Dimensiune (octeți) | Gamă | Specificator de format |
---|---|---|---|
scurt int | 2 | -32.768 până la 32.767 | %hd |
nesemnat scurt int | 2 | 0 până la 65.535 | %hu |
nesemnat int | 4 | 0 până la 4.294.967.295 | %în |
int | 4 | -2.147.483.648 până la 2.147.483.647 | %d |
lung int | 4 | -2.147.483.648 până la 2.147.483.647 | %ld |
nesemnat lung int | 4 | 0 până la 4.294.967.295 | %lu |
lung lung int | 8 | -(2^63) până la (2^63)-1 | %lld |
nesemnat lung long int | 8 | 0 până la 18.446.744.073.709.551.615 | %llu |
semnat char | 1 | -128 până la 127 | %c |
nesemnat char | 1 | de la 0 la 255 | %c |
pluti | 4 | 1.2E-38 până la 3.4E+38 | %f |
dubla | 8 | 1.7E-308 până la 1.7E+308 | %lf |
dublu lung | 16 | 3.4E-4932 este 1.1E+4932 | %Lf |
Notă: L ong, scurt, semnat și nesemnat sunt modificatori de tip de date care pot fi utilizate cu unele tipuri de date primitive pentru a modifica dimensiunea sau lungimea tipului de date.
Următoarele sunt câteva tipuri principale de date primitive în C:
Tip de date întreg
Tipul de date întreg în C este folosit pentru a stoca numerele întregi (orice număr, inclusiv pozitiv, negativ și zero fără parte zecimală). Valorile octale, valorile hexazecimale și valorile zecimale pot fi stocate în tipul de date int în C.
- Gamă: -2.147.483.648 până la 2.147.483.647
- Mărimea: 4 octeți
- Specificator de format: %d
Sintaxa unui număr întreg
Folosimvar_nume;
Tipul de date întreg poate fi folosit și ca
Linux schimba numele directorului
- unsigned int: Tipul de date int fără semn în C este folosit pentru a stoca valorile datelor de la zero la numere pozitive, dar nu poate stoca valori negative, cum ar fi int semnat.
- short int: Este mai mică ca dimensiune decât int cu 2 octeți, așa că poate stoca doar valori de la -32.768 la 32.767.
- long int: Versiune mai mare a tipului de date int, astfel încât să poată stoca valori mai mari decât int.
- unsigned short int: Similar în relația cu short int ca și unsigned int cu int.
Notă: Mărimea unui tip de date întreg este dependentă de compilator. Putem folosi dimensiunea operatorului pentru a verifica dimensiunea reală a oricărui tip de date.
Exemplu de 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;> }> |
>
>Ieșire
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>
Tip de date caracter
Tipul de date caracter permite variabilei sale să stocheze doar un singur caracter. Dimensiunea caracterului este de 1 octet. Este cel mai elementar tip de date din C. Stochează un singur caracter și necesită un singur octet de memorie în aproape toate compilatoarele.
- Gamă: (-128 la 127) sau (0 la 255)
- Mărimea: 1 octet
- Specificator de format: %c
Sintaxa lui char
The cuvânt cheie char este folosit pentru a declara variabila de tip de caracter:
char var_name;>
Exemplu de char
C
tutorial java swing
// 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;> }> |
>
>Ieșire
Value of a: a Value of a after increment is: b Value of c: c>
Tip de date flotant
În programarea C tip de date float este folosit pentru a stoca valori în virgulă mobilă. Float în C este folosit pentru a stoca valori zecimale și exponențiale. Este folosit pentru a stoca numere zecimale (numere cu valori în virgulă mobilă) cu o singură precizie.
- Gamă: 1.2E-38 până la 3.4E+38
- Mărimea: 4 octeți
- Specificator de format: %f
Sintaxa float
The cuvânt cheie float este folosit pentru a declara variabila ca virgulă mobilă:
float var_name;>
Exemplu de Float
C
forma completă a i d e
// 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;> }> |
>
>Ieșire
9.000000 2.500000 0.000200>
Tip de date dublu
A Tip de date dublu în C este folosit pentru a stoca numere zecimale (numere cu valori în virgulă mobilă) cu dublă precizie. Este folosit pentru a defini valori numerice care conțin numere cu valori zecimale în C.
Tipul de date dublu este practic un tip de date de precizie care este capabil să dețină 64 de biți de numere zecimale sau virgulă mobilă. Deoarece double are mai multă precizie în comparație cu acel float, este mult mai evident că ocupă de două ori memoria ocupată de tipul în virgulă mobilă. Poate găzdui cu ușurință aproximativ 16 până la 17 cifre după sau înainte de un punct zecimal.
- Gamă: 1.7E-308 până la 1.7E+308
- Mărimea: 8 octeți
- Specificator de format: %lf
Sintaxa lui Double
Variabila poate fi declarată ca virgulă mobilă de precizie dublă folosind cuvânt cheie dublu:
double var_name;>
Exemplu de dublu
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;> }> |
>
regex în java
>Ieșire
123123123.000000 12.293123 2312312312.123123>
Tip de date nul
Tipul de date void în C este utilizat pentru a specifica faptul că nu este prezentă nicio valoare. Nu oferă o valoare a rezultatului apelantului său. Nu are valori și operațiuni. Este folosit pentru a reprezenta nimic. Void este folosit în mai multe moduri ca tip de returnare a funcției, argumentele funcției ca void și indicii spre gol .
Sintaxă:
// 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);>
Exemplu de gol
C
// C program to demonstrate> // use of void pointers> #include> int> main()> {> > int> val = 30;> > void> * ptr = &val;> > printf> (> '%d'> , *(> int> *)ptr);> > return> 0;> }> |
>
>Ieșire
30>
Dimensiunea tipurilor de date în C
Mărimea tipurilor de date în C depinde de dimensiunea arhitecturii, așa că nu putem defini dimensiunea universală a tipurilor de date. Pentru aceasta, limbajul C oferă operatorul sizeof() pentru a verifica dimensiunea tipurilor de date.
Exemplu
C
c matrice de șiruri de caractere
// 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;> }> |
>
>Ieșire
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>
Pentru a vă verifica cunoștințele despre tipurile de date în C, parcurgeți Test despre tipuri de date .