C भाषा में प्रोग्रामिंग करते समय कई बार एक प्रकार के डेटा को दूसरे प्रकार में बदलने की आवश्यकता होती है। जैसे कि int को float में, या float को int में। इसे ही Type Conversion (टाइप कन्वर्ज़न) कहा जाता है।
टाइप कन्वर्ज़न का अर्थ है एक डेटा टाइप को दूसरे डेटा टाइप में बदलना। यह दो प्रकार का होता है:
जब C कंपाइलर खुद से एक डेटा टाइप को दूसरे में बदल देता है, तो उसे Implicit Type Conversion कहते हैं। इसे 'Type Promotion' भी कहा जाता है।
#include <stdio.h>
int main() {
int a = 10;
float b = 5.5;
float result = a + b;
printf("परिणाम: %f", result);
return 0;
}
व्याख्या: यहाँ int (a) को float में बदल दिया गया ताकि दोनों एक ही टाइप में हो सकें। यह परिवर्तन अपने आप हुआ।
C कंपाइलर निम्नलिखित प्रकार से छोटे टाइप को बड़े टाइप में बदलता है:
इससे डेटा लॉस नहीं होता और प्रोग्राम आसानी से चलता है।
जब प्रोग्रामर खुद किसी एक डेटा टाइप को दूसरे टाइप में बदलता है, तो उसे Explicit Type Conversion या Type Casting कहते हैं।
(data_type) value
#include <stdio.h>
int main() {
float a = 7.89;
int b = (int) a;
printf("Float: %f, Int: %d", a, b);
return 0;
}
व्याख्या: यहाँ float को int में बदला गया है। इसका परिणाम है कि दशमलव भाग हटा दिया जाएगा।
float x = 10.75;
int y = (int) x; // y = 10
int a = 5;
float b = (float) a; // b = 5.0
char ch = 'A';
int code = (int) ch; // code = 65
#include <stdio.h>
int main() {
int a = 10, b = 3;
float result;
// implicit type conversion
result = a / b;
printf("बिना टाइप कास्टिंग: %f\n", result);
// explicit type conversion
result = (float)a / b;
printf("टाइप कास्टिंग के बाद: %f\n", result);
return 0;
}
आउटपुट: बिना टाइप कास्टिंग के आउटपुट 3.000000 होगा क्योंकि दोनों int हैं। टाइप कास्टिंग के बाद सही आउटपुट 3.333333 मिलेगा।
टाइप कन्वर्ज़न एक बहुत ही जरूरी और मूलभूत अवधारणा है, जो C भाषा में डेटा टाइप के बीच की सीमाओं को पार करने में मदद करता है। Implicit Conversion स्वचालित है, जबकि Explicit Conversion को programmer को खुद नियंत्रित करना पड़ता है।
यदि सही ढंग से किया जाए, तो टाइप कन्वर्ज़न से प्रोग्रामिंग की शक्ति कई गुना बढ़ सकती है।