एक डेटा प्रकार को दूसरे डेटा प्रकार में परिवर्तित करना प्रकार रूपांतरण कहलाता है।
- अंतर्निहित प्रकार रूपांतरण
- स्पष्ट प्रकार का रूपांतरण
अंतर्निहित प्रकार रूपांतरण
-
जब ऑपरेंड विभिन्न डेटा प्रकार के होते हैं, तो कंपाइलर निहित प्रकार के रूपांतरण प्रदान करता है।
-
यह छोटे डेटा प्रकार को बड़े डेटा प्रकार में परिवर्तित करके कंपाइलर द्वारा स्वचालित रूप से किया जाता है।
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