Ogni variabile in C ha un tipo di dati associato. Specifica il tipo di dati che la variabile può memorizzare come numero intero, carattere, virgola mobile, doppio, ecc. Ogni tipo di dati richiede quantità diverse di memoria e presenta alcune operazioni specifiche che possono essere eseguite su di esso. Il tipo di dati è una raccolta di dati con valori con valori fissi, significato e caratteristiche.
I tipi di dati in C possono essere classificati come segue:
Tipi | Descrizione |
---|---|
Tipi di dati primitivi | I tipi di dati primitivi sono i tipi di dati più basilari utilizzati per rappresentare valori semplici come numeri interi, float, caratteri, ecc. |
Tipi di dati definiti dall'utente | I tipi di dati definiti dall'utente vengono definiti dall'utente stesso. |
Tipi derivati | I tipi di dati derivati dai tipi di dati primitivi o incorporati vengono definiti tipi di dati derivati. |
Diversi tipi di dati hanno anche intervalli diversi fino ai quali possono memorizzare i numeri. Questi intervalli possono variare da compilatore a compilatore. Di seguito è riportato un elenco di intervalli insieme ai requisiti di memoria e agli identificatori di formato sul file Compilatore GCC a 32 bit .
Tipo di dati | Dimensioni (byte) | Allineare | Identificatore di formato |
---|---|---|---|
breve int | 2 | Da -32.768 a 32.767 | %hd |
int breve senza segno | 2 | Da 0 a 65.535 | %uh |
intero senza segno | 4 | da 0 a 4.294.967.295 | %In |
int | 4 | Da -2.147.483.648 a 2.147.483.647 | %D |
lungo int | 4 | Da -2.147.483.648 a 2.147.483.647 | %ld |
int lungo senza segno | 4 | da 0 a 4.294.967.295 | %lu |
lungo lungo int | 8 | Da -(2^63) a (2^63)-1 | %lld |
senza segno lungo lungo int | 8 | da 0 a 18.446.744.073.709.551.615 | %llu |
firmato car | 1 | da -128 a 127 | %C |
carattere non firmato | 1 | da 0 a 255 | %C |
galleggiante | 4 | Da 1.2E-38 a 3.4E+38 | %F |
Doppio | 8 | Da 1,7E-308 a 1,7E+308 | %lf |
doppio lungo | 16 | 3.4E-4932 è 1.1E+4932 | %Lf |
Nota: L'l lungo, breve, firmato e non firmato sono modificatori del tipo di dati che possono essere utilizzati con alcuni tipi di dati primitivi per modificare la dimensione o la lunghezza del tipo di dati.
Di seguito sono riportati alcuni principali tipi di dati primitivi in C:
Tipo di dati intero
Il tipo di dati intero in C viene utilizzato per memorizzare i numeri interi (qualsiasi numero incluso positivo, negativo e zero senza parte decimale). Valori ottali, valori esadecimali e valori decimali possono essere archiviati nel tipo di dati int in C.
- Allineare: Da -2.147.483.648 a 2.147.483.647
- Misurare: 4 byte
- Identificatore del formato: %D
Sintassi dell'intero
Noi usiamonome_var;
Il tipo di dati intero può essere utilizzato anche come
peso di kat timpf
- intero senza segno: Il tipo di dati int senza segno in C viene utilizzato per memorizzare i valori dei dati da zero a numeri positivi ma non può memorizzare valori negativi come gli int con segno.
- intero breve: Ha dimensioni inferiori di 2 byte rispetto a int, quindi può memorizzare solo valori compresi tra -32.768 e 32.767.
- intero lungo: Versione più grande del tipo di dati int, quindi può memorizzare valori maggiori di int.
- int breve senza segno: Simile in relazione con short int come unsigned int con int.
Nota: La dimensione di un tipo di dati intero dipende dal compilatore. Possiamo usare dimensione dell'operatore per verificare la dimensione effettiva di qualsiasi tipo di dati.
Esempio di 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;> }> |
>
>Produzione
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>
Tipo di dati carattere
Il tipo di dati carattere consente alla variabile di memorizzare solo un singolo carattere. La dimensione del carattere è 1 byte. È il tipo di dati più elementare in C. Memorizza un singolo carattere e richiede un singolo byte di memoria in quasi tutti i compilatori.
- Allineare: (da -128 a 127) o (da 0 a 255)
- Misurare: 1 byte
- Identificatore del formato: %C
Sintassi di char
IL parola chiave char viene utilizzato per dichiarare la variabile di tipo carattere:
char var_name;>
Esempio di car
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;> }> |
tabella ascii java
>
>Produzione
Value of a: a Value of a after increment is: b Value of c: c>
Tipo di dati mobile
Nella programmazione C tipo di dati float viene utilizzato per memorizzare valori in virgola mobile. Float in C viene utilizzato per memorizzare valori decimali ed esponenziali. Viene utilizzato per memorizzare numeri decimali (numeri con valori in virgola mobile) con precisione singola.
- Allineare: Da 1.2E-38 a 3.4E+38
- Misurare: 4 byte
- Identificatore del formato: %F
Sintassi di float
IL parola chiave float viene utilizzato per dichiarare la variabile come virgola mobile:
float var_name;>
Esempio di galleggiante
C
alternativa a mylivecricket
// 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;> }> |
>
>Produzione
9.000000 2.500000 0.000200>
Tipo di dati doppio
UN Doppio tipo di dati in C viene utilizzato per memorizzare numeri decimali (numeri con valori in virgola mobile) con doppia precisione. Viene utilizzato per definire valori numerici che contengono numeri con valori decimali in C.
Il tipo di dati double è fondamentalmente un tipo di dati di precisione in grado di contenere 64 bit di numeri decimali o in virgola mobile. Poiché double ha maggiore precisione rispetto a float, è molto più ovvio che occupi il doppio della memoria occupata dal tipo a virgola mobile. Può facilmente contenere da 16 a 17 cifre prima o dopo il punto decimale.
- Allineare: Da 1,7E-308 a 1,7E+308
- Misurare: 8 byte
- Identificatore del formato: %lf
Sintassi del doppio
La variabile può essere dichiarata come virgola mobile a doppia precisione utilizzando il comando doppia parola chiave:
double var_name;>
Esempio di doppio
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;> }> |
>
git aggiungi --all
>Produzione
123123123.000000 12.293123 2312312312.123123>
Tipo di dati nullo
Il tipo di dati void in C viene utilizzato per specificare che non è presente alcun valore. Non fornisce un valore di risultato al chiamante. Non ha valori né operazioni. Si usa per non rappresentare nulla. Void viene utilizzato in diversi modi come tipo restituito dalla funzione, argomenti della funzione come void e puntatori a vuoto .
Sintassi:
// 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);>
Esempio di vuoto
C
// C program to demonstrate> // use of void pointers> #include> int> main()> {> > int> val = 30;> > void> * ptr = &val;> > printf> (> '%d'> , *(> int> *)ptr);> > return> 0;> }> |
>
>Produzione
30>
Dimensioni dei tipi di dati in C
La dimensione dei tipi di dati in C dipende dalla dimensione dell'architettura, quindi non possiamo definire la dimensione universale dei tipi di dati. Per questo, il linguaggio C fornisce l'operatore sizeof() per verificare la dimensione dei tipi di dati.
Esempio
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;> }> |
quadro di raccolta Java
>
>Produzione
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>
Per verificare la tua conoscenza dei tipi di dati in C, consulta il file Quiz sui tipi di dati .