एक डेटा प्रकार को दूसरे डेटा प्रकार में परिवर्तित करना प्रकार रूपांतरण कहलाता है।
- अंतर्निहित प्रकार रूपांतरण
- स्पष्ट प्रकार का रूपांतरण
अंतर्निहित प्रकार रूपांतरण
-
जब ऑपरेंड विभिन्न डेटा प्रकार के होते हैं, तो कंपाइलर निहित प्रकार के रूपांतरण प्रदान करता है।
-
यह छोटे डेटा प्रकार को बड़े डेटा प्रकार में परिवर्तित करके कंपाइलर द्वारा स्वचालित रूप से किया जाता है।
int i,x; float f; double d; long int l;
यहाँ, उपरोक्त व्यंजक अंततः एक 'दोहरे' मान का मूल्यांकन करता है।
उदाहरण
निहित प्रकार के रूपांतरण के लिए एक उदाहरण निम्नलिखित है -
int x; for(x=97; x<=122; x++){ printf("%c", x); /*Implicit casting from int to char %c*/ }
स्पष्ट प्रकार का रूपांतरण
-
स्पष्ट प्रकार का रूपांतरण उपयोगकर्ता द्वारा (प्रकार) ऑपरेटर का उपयोग करके किया जाता है।
-
रूपांतरण करने से पहले, यह देखने के लिए एक रनटाइम जांच की जाती है कि क्या गंतव्य प्रकार स्रोत मान को धारण कर सकता है।
int a,c; float b; c = (int) a + b
यहां, 'a+b' के परिणाम को स्पष्ट रूप से 'int' में परिवर्तित किया जाता है और फिर 'c' को असाइन किया जाता है।
उदाहरण
स्पष्ट प्रकार के रूपांतरण के लिए एक उदाहरण निम्नलिखित है -
int x; for(x=97; x<=122; x++){ printf("%c", (char)x); /*Explicit casting from int to char*/ }
आइए उदाहरणों के साथ दो प्रकार के रूपांतरणों के बीच अंतर देखें -
उदाहरण (अंतर्निहित रूपांतरण)
#include<stdio.h> main(){ int i=40; float a; //Implicit conversion a=i; printf("implicit value:%f\n",a); }
आउटपुट
Implicit value:40.000000
उदाहरण (स्पष्ट रूपांतरण)
#include<stdio.h> main(){ int i=40; short a; //Explicit conversion a=(short)i; printf("explicit value:%d\n",a); }
आउटपुट
Explicit value:40