Nel linguaggio di programmazione C , come con altri linguaggi di programmazione , i programmatori di memorizzare diversi valori nelle variabili . A seconda del tipo di valore che desidera immagazzinare , useranno un diverso tipo di variabile che è ottimizzata per affrontare questo tipo di valore più efficientemente . Tuttavia, tipi di variabili sono reciprocamente incompatibili e in conflitto se entrambi sono utilizzati in una operazione . Tipi numerici
C , ci sono due principali tipi di variabili native per numeri: numeri interi e in virgola mobile . Programmatori utilizzano numeri interi o le tipologie "int" , per memorizzare numeri interi come 1 , 2 , 3 , 300 , 3000 , o qualsiasi altro numero che è composto solo di unità complete . I programmatori usano numeri in virgola mobile , o tipi di "galleggiare" , per i numeri che hanno una componente decimale . Questi possono essere numeri piccoli come 0,0003 o grande come 300.000,3 .
Caratteri variabili
caratteri, come lettere o simboli , sono memorizzati nella " char" tipo di dati nativo . Una singola variabile char può contenere una sola lettera o un simbolo . A differenza di tipi di dati numerici , che può memorizzare qualsiasi valore numerico all'interno di una singola variabile , le variabili di tipo char può contenere solo un singolo carattere . Se un programmatore vuole memorizzare parole o frasi , ha bisogno di utilizzare un array di variabili char . Si tratta di strutture che si compone di più variabili char , con ogni variabile in possesso di una lettera . Per esempio, se un programmatore ha voluto conservare la parola " computer", avrebbe usato un array a otto slot di variabili char , con ogni slot in possesso di uno di questi caratteri nella parola .
< Br > Conflitti Casting
tipi di variabili
sono creati in modo tale che possano essere utilizzati solo in operazioni con altre variabili dello stesso tipo . Per alcune operazioni , questi conflitti sono un'estensione della logica semplice : se un programmatore cerca di sottrarre un personaggio di un numero intero , si otterrà un errore di tipo conflittuale . Altri conflitti di tipo sono meno intuitivi . Ad esempio , mentre sia un intero e un float sono numeri che hanno valori che possono essere utilizzati insieme in qualsiasi equazione matematica , tipo conflitti impediscono C da sottrarre un decimale in virgola mobile da un numero intero.
Re - colata
il modo di affrontare questi conflitti è di tipo a rifondere temporaneamente numeri come dello stesso tipo. Ad esempio, per sottrarre Float A da Integer B , un programmatore potrebbe riformulare temporaneamente B come un galleggiante . Avrebbe fatto questo con il codice : " (float ) B - A; ", che non possa modificare il tipo effettivo di B , ma cambiare temporaneamente per l'equazione . I programmatori possono riformulare i numeri come altri numeri , ma potranno guadagnare o perdere qualità distintive . Il 50 int cast come un galleggiante diventa 50.00 mentre il galleggiante 35.55 rifusione come un int diventa 35 .