MCAWALA

C Programming Tutorial

C प्रोग्रामिंग में टाइप कन्वर्ज़न (Type Conversion)

1. Overview

C भाषा में प्रोग्रामिंग करते समय कई बार एक प्रकार के डेटा को दूसरे प्रकार में बदलने की आवश्यकता होती है। जैसे कि int को float में, या float को int में। इसे ही Type Conversion (टाइप कन्वर्ज़न) कहा जाता है।

2. टाइप कन्वर्ज़न क्या होता है?

टाइप कन्वर्ज़न का अर्थ है एक डेटा टाइप को दूसरे डेटा टाइप में बदलना। यह दो प्रकार का होता है:

  • Implicit Type Conversion (स्वतः परिवर्तन)
  • Explicit Type Conversion (जबरदस्ती परिवर्तन / Type Casting)

3. Implicit 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 में बदल दिया गया ताकि दोनों एक ही टाइप में हो सकें। यह परिवर्तन अपने आप हुआ।

4. Implicit Type Conversion के नियम

C कंपाइलर निम्नलिखित प्रकार से छोटे टाइप को बड़े टाइप में बदलता है:

  • char → int
  • int → float
  • float → double

इससे डेटा लॉस नहीं होता और प्रोग्राम आसानी से चलता है।

5. Explicit Type Conversion (Type Casting)

जब प्रोग्रामर खुद किसी एक डेटा टाइप को दूसरे टाइप में बदलता है, तो उसे 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 में बदला गया है। इसका परिणाम है कि दशमलव भाग हटा दिया जाएगा।

6. टाइप कास्टिंग के उदाहरण

6.1. float से int


float x = 10.75;
int y = (int) x;  // y = 10
        

6.2. int से float


int a = 5;
float b = (float) a;  // b = 5.0
        

6.3. char से int


char ch = 'A';
int code = (int) ch;  // code = 65
        

7. टाइप कन्वर्ज़न से संबंधित सावधानियाँ

  • Implicit कन्वर्ज़न सुरक्षित होते हैं, लेकिन Explicit कन्वर्ज़न में डेटा लॉस हो सकता है।
  • कभी-कभी फ्लोट को इंट में बदलने से दशमलव भाग समाप्त हो जाता है।
  • Type casting का सही उपयोग जरूरी है, खासकर गणनाओं में।

8. एक संपूर्ण उदाहरण


#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 मिलेगा।

9. निष्कर्ष

टाइप कन्वर्ज़न एक बहुत ही जरूरी और मूलभूत अवधारणा है, जो C भाषा में डेटा टाइप के बीच की सीमाओं को पार करने में मदद करता है। Implicit Conversion स्वचालित है, जबकि Explicit Conversion को programmer को खुद नियंत्रित करना पड़ता है।

यदि सही ढंग से किया जाए, तो टाइप कन्वर्ज़न से प्रोग्रामिंग की शक्ति कई गुना बढ़ सकती है।