Type Casting in C Language

Type casting è un modo per convertire una variabile da un tipo di dati ad un altro tipo di dati. Per esempio, se volete memorizzare un valore lungo in un intero semplice, potete fare il tipocast da long a int. Potete convertire i valori da un tipo ad un altro esplicitamente usando l’operatore cast. Ci sono due tipi di type casting nel linguaggio c che sono conversioni implicite e conversioni esplicite. In questo articolo, impariamo anche la differenza tra type casting e type conversions.

Il nuovo tipo di dati deve essere menzionato prima del nome della variabile o del valore tra parentesi che deve essere typecast.

Programma di esempio C type casting:

Nel seguente programma C, 7/5 da solo produrrà un valore intero come 1.
Quindi, il type cast è fatto prima della divisione per mantenere il valore float (1.4).

1 #include <stdio.h>
2 int main ()
3 {
4 float x;
5 x = (float) 7/5;
6 printf(“%f”,x);
7 }

Output:
1.400000

Convertire un’espressione di un dato tipo in un altro tipo è conosciuto come type casting. typecasting è più usato nella programmazione del linguaggio c.

Qui, è la migliore pratica per convertire il tipo di dati inferiore in un tipo di dati superiore per evitare la perdita di dati.

I dati saranno troncati quando il tipo di dati superiore è convertito in inferiore. Per esempio, se un float viene convertito in int, i dati presenti dopo il punto decimale saranno persi.

Ci sono due tipi di type casting nel linguaggio c.

Tipi di typecasting in C

S.No Tipi di casting di tipo nella programmazione C
1 Conversione implicita
2 Conversione esplicita

Conversione implicita

Le conversioni implicite non richiedono alcun operatore per la conversione. Vengono eseguite automaticamente quando un valore viene copiato in un tipo compatibile nel programma.

Qui, il valore di a è stato promosso da int a double e non abbiamo dovuto specificare alcun operatore di type-casting. Questa è conosciuta come una conversione standard.

Esempio :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 doppio p;
7 clrscr();
8
9 p=i; // conversione implicita
10
11 printf(“valore implicito è %d”,p);
12
13 getch();
14 }

Output:-
valore implicito è 20.

Conversione esplicita

Nel linguaggio C, molte conversioni, specialmente quelle che implicano una diversa interpretazione del valore, richiedono una conversione esplicita. Abbiamo già visto due notazioni per la conversione esplicita di tipo.

Non vengono eseguite automaticamente quando un valore viene copiato in un tipo compatibile nel programma.

Esempio :-

1 #include<stdio.h>
2 #include<conio.h>
3 void main()
4 {
5 int i=20;
6 short p;
7 clrscr();
8
9 p = (short) i; // Conversione esplicita
10
11 printf(“Valore esplicito è %d”,p);
12
13 getch();
14 }

Output:-
Il valore esplicito è 20.

Conversione aritmetica abituale

Le conversioni aritmetiche abituali sono implicitamente eseguite per lanciare i loro valori in un tipo comune, C usa la regola che in tutte le espressioni eccetto le assegnazioni, qualsiasi conversione implicita di tipo fatta da un tipo di dimensione inferiore a un tipo di dimensione superiore come mostrato sotto:

Type Casting In C Language

Inbuilt Typecast Functions In C:

Ci sono molte funzioni inbuilt type casting disponibili nel linguaggio C che eseguono la conversione del tipo di dati da un tipo ad un altro.

S.No Funzione typecast Descrizione
1 atof() Convertire stringa in Float
2 atoi() Convertire stringa in int
3 atol() Convertire stringa in long
4 itoa() Convertire int in stringa
5 ltoa() Convertire long to string

Di recente stiamo facendo un sondaggio tra diversi programmatori che sono disponibili in google plus social media. Abbiamo fatto un sondaggio per il type casting nel linguaggio C.

Differenza tra type casting e type conversion

Ogni volta che c’è bisogno di convertire un tipo di dati in un altro i due termini ci vengono in mente “typecasting” e “type conversion”. Quando i due tipi sono compatibili tra loro, allora la conversione di un tipo all’altro è fatta automaticamente dal compilatore che è la conversione di tipo freddo ma ricorda che possiamo memorizzare un tipo di dati grande nell’altro per esempio non possiamo memorizzare un float in int perché un float è maggiore di int. mentre, typecasting deve essere fatto esplicitamente dal programmatore.

BASE DI CONFRONTO TYPE CASTING TYPE CONVERSION
Definizione Quando un utente può convertire un tipo di dati in un altro allora si chiama typecasting. La conversione di tipo è quella che converte automaticamente un tipo di dati in un altro.
Impiegato Impiegato su due tipi di dati ‘incompatibili’. Impiegato solo quando due tipi di dati sono ‘compatibili’.
Operatore Per il casting di un tipo di dati in un altro, è richiesto un operatore di casting ‘()’. Nessun operatore richiesto.
Implementato E’ fatto durante la progettazione del programma. E’ fatto esplicitamente durante la compilazione.
Tipo di conversione Conversione restrittiva. Conversione allargata.
Esempio int x;
byte y;


y= (byte) x;
int x=3;
float y;
y=a; // valore in y=3.000.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.