Tipi di conflitto in C

October 23

Tipi di conflitto in C


Nel linguaggio di programmazione C, come con altri linguaggi di programmazione, i programmatori di memorizzare diversi valori delle variabili. A seconda del tipo di valore che desidera immagazzinare, useranno un diverso tipo di variabile che viene ottimizzata per affrontare questo tipo di valore più efficiente. Tuttavia, tipi di variabili sono reciprocamente incompatibili e saranno in conflitto se entrambi utilizzati in un'operazione.

Tipi numerici

In C, ci sono due principali tipi nativi di variabili per i numeri: numeri interi e numeri in virgola mobile. I programmatori usano interi, oi tipi "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, o tipi "float" galleggiante, per i numeri che hanno una componente decimale. Questi possono essere numeri piccoli come .0003 o grande come 300.000,3.

Le variabili di carattere

I personaggi, come lettere o simboli, sono memorizzati nel tipo di dati "char" nativo. Una variabile singolo carattere può contenere una sola lettera o un simbolo. A differenza di tipi di dati numerici, in grado di memorizzare qualsiasi valore numerico all'interno di una singola variabile, le variabili 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 che tiene una lettera. Ad esempio, se un programmatore volesse memorizzare la parola "computer", avrebbe usato un array otto slot di variabili char, con ogni slot in possesso di questi caratteri nella parola.

conflitti Casting

Tipi di variabili sono creati in modo tale che essi possono essere utilizzati solo in operazioni con altre variabili dello stesso tipo. Per alcune operazioni, questi conflitti sono un'estensione di semplice logica: se un programmatore cerca di sottrarre un personaggio di un numero intero, otterrà un errore di tipo conflittuale. Altri conflitti tipo sono meno intuitivo. Ad esempio, mentre sia un intero e un galleggiante sono numeri che hanno valori che possono essere usati insieme in qualsiasi equazione matematica, tipo conflitti impediscono C sottraendo un punto decimale fluttuante da un numero intero.

Re-casting

Il modo di affrontare questi conflitti di tipo è quello di riformulare temporanea numeri dello stesso tipo. Ad esempio, per sottrarre Float A da integer B, un programmatore avrebbe rifusione temporaneamente B come un galleggiante. Avrebbe fatto questo con il codice: "(float) B - A;" che non sarebbe influenzare il tipo effettivo di B, ma temporaneamente cambiarlo per l'equazione. I programmatori possono rifusione numeri come altri numeri, ma saranno guadagnare o perdere qualità distintive. Il int 50 cast come un galleggiante diventa 50,00 mentre la rifusione galleggiante 35.55 come un int diventa 35.