C Language – Type Casting In C In Hindi – Master Programming

सी लैंग्वेज सीखने की इस सीरीज में आज हम बात करने वाले है Type Casting or Type Conversion के बारे में |

आज हम जानेंगे कि कि सी लैंग्वेज में Type Casting क्या है? (What is Type Casting in C in Hindi) और Type Casting कितने प्रकार के होते है |

मगर इससे पहले आपको ये जानना जरुरी है कि Variable क्या होते है और Data types क्या होते है | वेरिएबल और डाटा टाइप्स के बारे में आप यहाँ से पढ़ सकते है –: Variable क्या है? और Data types क्या है?

Type Casting in C Language

सी लैंग्वेज में Type Casting क्या है (What is Type Casting in C in Hindi)

Type Casting किसी Variable के डेटा टाइप्स को चेंज करने का एक तरीका है | सी लैंग्वेज में Type Casting का उपयोग करके हम किसी वेरिएबल को एक Data Type से किसी दूसरे डेटा टाइप में बदल सकते है और जब हम ऐसा करते है तो इसे ही टाइप Type Casting या Type Conversion कहा जाता है |

आइये Type Casting को हम इन कुछ Examples से समझते है |

Example of Type Casting In C Language

#include <stdio.h>
void main ()
 {
	int x;            // Integer variable x
	float y= 10.30;   // Float variable y
  x = y;            // Type Cast float type Value into integer type
	printf("x = %d", x);
}

Output -:

x = 10;

ऊपर दिए गए Example में सबसे पहले हमने int x करके int डेटा टाइप का एक वेरिएबल x बनाया फिर float y करके एक और वेरिएबल y बनाया और वेरिएबल y मे 10.30  वैल्यू असाइन कर दिया | उसके बाद हमने वेरिएबल x में x = y करके y वेरिएबल की वैल्यू को x वेरिएबल में असाइन किया जिससे वेरिएबल x में y वेरिएबल की वैल्यू आ गई |

चुकी int डेटा टाइप की मदद से बने वेरिएबल में केवल इन्टिजर टाइप का डेटा ही आ सकता है इसलिए जब हमने x = y करके int वेरिएबल x में float डेटा टाइप से बने वेरिएबल y का वैल्यू पास किया तो वेरिएबल x में 10.30 वैल्यू न जाके सिर्फ 10 वैल्यू ही जाएगी जिससे .30 डेटा का loss हो जायेगा |

तो यहाँ पर एक बात ध्यान देने की है कि Type Casting जब हम करते है तब हमे Lower डेटा टाइप के वैल्यू को higher डेटा टाइप के वेरिएबल में Casting करनी चाहिए जैसे – int डेटा टाइप से बने वेरिएबल की वैल्यू को फ्लोट या डबल डेटा टाइप से बने वेरिएबल में Casting करनी चाहिए | जिससे इस तरह होने वाले  loss को रोका जा सके |

इस  तरह के Type Casting को Implicit Type Casting या  Implicit Type Conversion कहते है जिसके बारे में मैं आपको आगे इस पोस्ट में और ज्यादा डिटेल्ड में बताऊंगा | आइये Type Casting को और अच्छे से समझने के लिए एक और Example देखते है |

Example of Type Casting In C

Without Type Casting 

#include <stdio.h>
void main () {
	int a=10;
	int b= 3;
  float c;
	c = a/b;
	printf("c = %f", c);
}

Output -:

c = 3.000000

इस ऊपर दिए गए Example में हमने सबसे पहले int डेटा टाइप का दो वेरिएबल डिक्लेअर किया जिसका नाम a और b है और फिर पहले वेरिएबल a में a =10 करके 10 वैल्यू स्टोर किया फिर दूसरे वेरिएबल b में b = 3 करके 3 वैल्यू असाइन किया | उसके बाद एक float डेटा टाइप की मदद से एक और वैरिएबल c बनाया | 

इस c नाम के वेरिएबल में हमने c = a/b;  करके a/b करने पर जो रिजल्ट आया उसको c वेरिएबल में स्टोर करा के उसकी वैल्यू को प्रिंट करा दिया जिसका आउटपुट 3.000000 आया |

जबकि वास्तव में इसका आंसर 3.333333 आना चाहिए था जो की नहीं आया | जरा सोचिए ऐसा क्यों नहीं हुवा ? जबकि हमने तो उसके रिजल्ट को फ्लोट टाइप के वेरिएबल में स्टोर कराया था जो फ्लोटिंग पॉइंट में आने वाला वैल्यू को स्टोर करने में सक्षम था | फिर भी data का लॉस हो रहा है |

दरअसल सी लैंगुएज में जब हम किन्ही int टाइप के वेरिएबल को divide करते है तो रिजल्ट भी इन्टिजर टाइप का आता है इसलिए आउटपुट 3.000000 आया | जबकि वास्तव में इसका आंसर 3.333333 आना चाहिए था तो अगर हमे इसका सही रिजल्ट लाना है तो हमे Type Casting करना पड़ेगा | आइये देखते है की Type Casting  के बाद रिजल्ट क्या है |

With Type Casting 

#include <stdio.h>
void main () {
	int a=10;
	int b=3;
  float c;
	c =(float) a/b;
	printf(c = "%f", c);
}

Output -:

c = 3.333333

Type Casting के बाद हमें जिस तरह का रिजल्ट चाहिए था वो मिल गया | जिससे हमे किसी तरह के डेटा का loss नहीं हुवा | इस तरह के टाइप कास्टिंग को Explicit Type Casting कहते है | 

Types of Type Casting In C Language

सी लैंग्वेज में Type Casting दो प्रकार के होते है |

  •  Implicit Type Casting 
  •  Explicit Type Casting 

Implicit Type Casting

Implicit Type Casting में हमे Type Casting के लिए किसी ऑपरेटर की जरुरत नहीं होती | Implicit Type Casting  कम्पाइलर द्वारा आटोमेटिक होता है | इस तरह के Type Casting को हम Type Conversion भी कहते है |  

Implicit Type Casting में जब हम किसी वेरिएबल को Lower टाइप से Higher टाइप में कन्वर्ट करते है तब किसी भी प्रकार का डेटा loss नहीं होता |

मगर जब हम हायर टाइप के वेरिएबल को लोअर टाइप में Type Cast करते है तब डेटा लॉस होने का खतरा होता है इसलिए जब भी हम Implicit Type Casting करते है तब हम वेरिएबल को लोअर टाइप से हायर टाइप में ही Type Casting करते है जिससे किसी प्रकार के डेटा loss का खतरा नहीं रहता |

आइये इस बात हो हम एक Example से समझते है |

Example of Implicit Type Casting -: Converting a variable into lower data type to Higher data type 

#include<stdio.h>
void main()
{
 int x = 34;
 float y;
 y=x;
 printf(" y = %f",y);
}

Output -:

y = 34.000000

इस ऊपर दिए गए Example में हमने int टाइप के वेरिएबल x, की वैल्यू को float डेटा टाइप में Type Cast करके, float वेरिएबल y में स्टोर कराके, y की वैल्यू प्रिंट करा दिया और रिजल्ट में 34.000000 आया मतलब इस टाइप कास्टिंग में कोई भी डाटा का loss नहीं हुवा | 

आइये Explicit Type Casting  का एक और उदाहरण देखते है जिसमे हम Higher टाइप के वेरिएबल को लोअर टाइप में Type Cast करेंगे |

Example of Implicit Type Casting -: converting a variable into higher data type to lower data type 

Without Type Casting 

#include <stdio.h>
void main () {
	int a=5
  int b;
  float c = 22.55;
	b= a + c;
	printf("b = %d", b);
}

Output

b = 27

इस ऊपर दिए गए Example में हमने int टाइप के दो वेरिएबल बनाये और पहले वाले वेरिएबल a में 5 वैल्यू असाइन कर दिया और दूसरे वाले वेरिएबल b को declare करके छोड़ दिया |

फिर फ्लोट टाइप का एक और वेरिएबल c बनाया जिसमे २२.55  वैल्यू असाइन किया | उसके बाद b = a + c करके a और c दोनों वेरिएबल के वैल्यू को जोड़ कर b वेरिएबल में स्टोर करा दिया | फिर b की वैल्यू printf() फंक्शन द्वारा प्रिंट करा दिया | जिसका रिजल्ट 27 आया |

जबकि इसका रिजल्ट 27.55 आना चाहिए था मगर ऐसा नहीं हुवा इसका मतबल इस टाइप कास्टिंग में डेटा का loss हो गया जो की हम ऐसा नहीं चाहते थे की किसी भी प्रकार का डेटा लॉस हो |

इसलिए अगर आप किसी भी प्रकार डेटा loss नहीं चाहते तो हमेशा वेरिएबल को Lower टाइप से Higher टाइप में ही Type Casting करे | जिससे डेटा loss नहीं होगा जैसे की इससे पहले वाले Example में हमने देखा था की वेरिएबल को Lower टाइप से Higher टाइप में Type Casting कन्वर्ट करने पर किसी भी प्रकार का डेटा loss नहीं हुवा |

Explicit Type Casting 

Explicit Type Casting यूजर डिफाइंड Type Casting है क्योकि इस Type Casting को यूजर खुद जबरदस्ती करता है | Explicit Type Casting कम्पाइलर द्वारा आटोमेटिक नहीं होता | इसमें  Type Casting के लिए “()” ऑपरेटर का उपयोग किया जाता है |

आइये Explicit Type Casting का एक Example देखते है |

Example of Explicit Type Casting

#include <stdio.h>
void main () {
	int x=111;
	int y= 31;            
  float z;
	z =(float) x/y;   // Explicit Type Casting
	printf("z = %f", z);
}

Output -:

z = 3.580645

Read More

Conclusion

दोस्तों आज के इस पोस्ट को पढ़ने के बाद आप सी लैंग्वेज में Type Casting क्या है (What is Type Casting in C in Hindi) कितने प्रकार के होते है, के बारे में अच्छे से जान गए होंगे |

दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और आपको सी लैंग्वेज में Type Casting क्या है (What is Type Casting in C in Hindi) के बारे में काफी जानकरी हुई होगी |

दोस्तों अगर आपको ये पोस्ट पसंद आया हो तो इस पोस्ट को अपने दोस्तों के साथ जरूर शेयर करे ताकि उनको भी सी लैंग्वेज में Type Casting क्या है (What is Type Casting in C in Hindi) कितने प्रकार के होते है, के बारे में अच्छे से जानकारी प्राप्त हो सके |

अगर आप सी लैंग्वेज के Complete Notes चाहते है तो मेरे इस पोस्ट C Language Notes In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |

Leave a Reply

Your email address will not be published. Required fields are marked *