এক ডেটা টাইপকে অন্য ডেটা টাইপে রূপান্তর করাকে টাইপ কনভার্সন বলে।
- অন্তর্ভুক্ত প্রকার রূপান্তর
- স্পষ্ট ধরনের রূপান্তর
অন্তর্ভুক্ত প্রকার রূপান্তর
-
যখন অপারেন্ডগুলি বিভিন্ন ডেটা প্রকারের হয় তখন কম্পাইলার অন্তর্নিহিত প্রকার রূপান্তর প্রদান করে।
-
এটি স্বয়ংক্রিয়ভাবে কম্পাইলার দ্বারা ছোট ডাটা টাইপকে বড় ডাটা টাইপে রূপান্তর করে করা হয়।
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