এক ডেটা টাইপকে অন্য ডেটা টাইপে কনভার্ট করাকে টাইপ কনভার্সন বলা হয়।
- ইমপ্লিসিট টাইপ কনভার্সন
- এক্সপ্লিসিট টাইপ কনভার্সন
ইমপ্লিসিট টাইপ কনভার্সন
অপারেন্ডগুলো ভিন্ন ডেটা টাইপের হলে কম্পাইলার ইমপ্লিসিট টাইপ কনভার্সন প্রদান করে।
এটি কম্পাইলার স্বয়ংক্রিয়ভাবে করে ছোট ডেটা টাইপকে বড় ডেটা টাইপে কনভার্ট করে।
int i,x; float f; double d; long int l;

এখানে, উপরের এক্সপ্রেশন চূড়ান্তে 'double' ভ্যালুতে ইভ্যালুয়েট হয়।
উদাহরণ
নিচে ইমপ্লিসিট টাইপ কনভার্সনের একটি উদাহরণ দেওয়া হলো −
int x; for(x=97; x<=122; x++){ printf("%c", x); /*Implicit casting from int to char %c*/ }এক্সপ্লিসিট টাইপ কনভার্সন
এক্সপ্লিসিট টাইপ কনভার্সন ব্যবহারকারী (type) অপারেটর ব্যবহার করে করে।
কনভার্সন করার আগে রানটাইম চেক করা হয় ডেস্টিনেশন টাইপ সোর্স ভ্যালু ধারণ করতে পারে কিনা।
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