Typecasting in C | C++ / Discover Differenza tra Typecasting & Type Conversion

Typecasting è una caratteristica saliente della programmazione C/C++ che dà al programmatore la disposizione per convertire un tipo di dati in un altro tipo. I principianti comunemente fraintendono che i termini tipo conversioni e typecasting in C / C++possono essere usati in modo intercambiabile, non è il caso. Discuteremo le loro differenze chiave al fine di mantenere i nostri concetti cristallini.

Rimani aggiornato con le ultime tendenze tecnologiche
Unisciti a DataFlair su Telegram!!

Typecasting in C/C++

Typecasting è un modo per convertire un particolare tipo di dati di una variabile in un altro tipo di dati in C / C++. Si dimostra molto utile quando si tratta di gestione della memoria. Supponiamo di voler memorizzare un valore di tipo di dati int in una variabile di tipo di dati long, possiamo ottenere questo compito digitalizzando int a long. E la buona notizia è che è facile come sembra.

Sintassi

int number1;
float number2;

/ / BODY
….
number2 = (float) number1;

Conversione di tipo in C e C++

La conversione di tipo è un concetto in cui un tipo di dati viene automaticamente convertito in un altro tipo senza il coinvolgimento del programmatore. Viene eseguito esclusivamente dal compilatore solo se entrambi i tipi di dati sono compatibili tra loro.

Sintassi

int number1 = 5;
float number2;
Number2 = a; / / Il valore di number2 sarebbe 5.000

Prenditi una pausa per un po ‘ ed esplora le variabili in C

Conversione di tipo vs Typecasting

Spesso le persone tendono ad usare i termini typecasting e conversioni di tipo in modo intercambiabile ogni volta che parliamo della conversione di un tipo di dati in un altro, come, da int a char.

È importante notare le seguenti differenze chiave:

  1. Typecasting si riferisce alla conversione di un tipo di dati in un altro da parte dell’utente, mentre la conversione di tipo si riferisce alla conversione automatica di un tipo di dati in un altro.
  2. Generalmente usiamo typecasting quando entrambi i tipi di dati sono incompatibili tra loro. Mentre nella conversione del tipo, è obbligatorio che entrambi i tipi di dati siano compatibili tra loro.
  3. Richiediamo l’operatore di colata “()” per la tipizzazione in C / C++, mentre non richiediamo alcun operatore di questo tipo in caso di conversione del tipo.
  4. Di solito digitiamo il casting mentre scriviamo il programma, mentre di solito digitiamo la conversione durante la compilazione.

Tipi di conversioni di tipo in C/C++

Nel linguaggio di programmazione C/C++, le conversioni di tipo sono di due tipi, vale a dire:

4.1 Conversione implicita di tipo

È di natura automatica in quanto il compilatore stesso converte la variabile da un tipo all’altro senza l’impiego di altre funzioni. Quindi, non abbiamo bisogno di alcun operatore.

È importante comprendere le regole associate alle conversioni di tipo implicito. Sono:

  • I tipi di dati più piccoli vengono convertiti in tipi di dati più grandi per evitare la perdita di dati.
  • Quando viene eseguita l’operazione tra il tipo di dati int e float, il valore risultante sarà di tipo floating.

Non dimenticare di controllare come funzionano gli operatori in C!

Ad esempio, considera il seguente segmento di codice:

int x =4;float a = 14.4, b;b = a / x;

Ora, cerchiamo di capire come funziona:

Nella conversione implicita del tipo, la “x” in a / x viene automaticamente convertita nel tipo di dati più grande, cioè il tipo di dati float. Questo accade per rendere ” x “uguale a” a” in termini di tipo di dati.

Pertanto, il valore di x = 4.0 e l’espressione a / x sarebbe 14.4 / 4.0 = 3.6

  • Allo stesso modo, quando viene eseguita l’operazione tra char/short e int, il valore risultante sarebbe di tipo intero poiché il tipo di dati più grande qui è int.

Si noti che il valore del tipo di dati char viene trattato come il suo valore ASCII, non come il suo tipo di carattere originale quando viene eseguita un’operazione tra il tipo di dati char e int.

Ad esempio, considera il seguente segmento di codice:

char character = 'z';int number = 8, sum;sum = character + number;

Ora, cerchiamo di capire come funziona:

Sappiamo che il valore ASCII del carattere minuscolo ‘ z ‘ è 122. Pertanto, il compilatore converte automaticamente il carattere del tipo di dati char nel tipo di dati intero e l’espressione sum = character + number diventa uguale a 122 + 8 = 130
Pertanto, l’output sarebbe 130.

Da questa discussione, è abbastanza chiaro che il tipo di dati inferiore viene convertito in un tipo di dati superiore.

Il seguente diagramma illustra la classificazione di un tipo di dati inferiore a un tipo di dati superiore:

Conversione implicita di tipo C e C++

4.2 Conversione di tipo esplicito

Viene eseguita dal programmatore secondo la propria convenienza con l’aiuto dell’operatore cast.

Key takeaway: il nuovo tipo di dati deve essere chiaramente menzionato prima dell’identificatore o del valore tra parentesi che devono essere tipizzati.

Esempio di typecasting in C

Ecco un programma che illustra l’uso di typecasting in linguaggio C:

#include <stdio.h>int main (){printf("Welcome to DataFlair tutorials!\n\n");int sum = 21, count = 5;double average;average = (double) sum / count;printf("The average value is : %f\n", average );return 0;}

il Codice sullo Schermo

Esempio di typecasting in C

Uscita

Uscita di typecasting in C

Esempio di typecasting in C++

Qui è un programma in C++ che illustra l’utilizzo di typecasting:

#include <iostream>using namespace std;int main (){cout<<"Welcome to DataFlair tutorials!"<<endl<<endl;int sum = 21, count = 5;double average;average = (double) sum / count;cout<<"The average value is : "<< average <<endl;return 0;}

Codice

Esempio di typecasting in C++

Uscita

Uscita di typecasting

Integrato Typecasting Funzioni in C/C++

Ci sono 5 tipi di base di integrato typecast funzioni in C/C++:

  1. atof(): Lo usiamo per convertire il tipo di dati stringa nel tipo di dati float.
  2. atoi(): Lo usiamo per convertire il tipo di dati stringa nel tipo di dati int.
  3. atol(): Lo usiamo per convertire il tipo di dati stringa nel tipo di dati lunghi.
  4. itoa (): Lo usiamo per convertire il tipo di dati int nel tipo di dati stringa.
  5. ltoa(): Lo usiamo per convertire il tipo di dati lunghi nel tipo di dati stringa.

Sommario

In questo tutorial, abbiamo discusso il significato di base della conversione di tipo e typecasting in C / C++, che la maggior parte delle persone tendono a mescolare. Abbiamo capito che è possibile convertire un tipo di dati in un altro tipo, rendendolo ancora più flessibile. Successivamente, abbiamo discusso di cosa sia la conversione di tipo implicita e la conversione di tipo esplicito. Abbiamo concluso la nostra discussione esaminando i diversi tipi di funzioni di typecasting integrate in C e C++.

Svela la differenza tra strutture e unioni in C

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.