🎯 এই পর্বে যা জানবে:
- টাইপ কাস্টিং কী
- Implicit ও Explicit টাইপ কনভার্শনের পার্থক্য
- ডেটা টাইপ পরিবর্তনের নিয়ম
- বাস্তব উদাহরণ ও প্রোগ্রাম কোড
- সাধারণ ভুল ও টিপস
🧩 টাইপ কাস্টিং কী?
টাইপ কাস্টিং (Type Casting) হলো এমন একটি প্রক্রিয়া যার মাধ্যমে একটি ডেটা টাইপকে অন্য ডেটা টাইপে রূপান্তর করা হয়।
👉 উদাহরণ: int থেকে float বা float থেকে int এ রূপান্তর।
এই ধারণাটি প্রোগ্রামিংয়ে খুবই গুরুত্বপূর্ণ, কারণ ভিন্ন ভিন্ন ডেটা টাইপের মাঝে গাণিতিক অপারেশন করার সময় টাইপ কনভার্শন স্বয়ংক্রিয়ভাবে বা ম্যানুয়ালি ঘটতে পারে।
⚙️ টাইপ কনভার্শনের দুটি ধরন
- Implicit Type Conversion (Automatic Type Conversion)
- Explicit Type Conversion (Type Casting by Programmer)
🧮 Implicit Type Conversion (Automatic Type Conversion)
এই কনভার্শন কম্পাইলার স্বয়ংক্রিয়ভাবে করে নেয়।
এটি সাধারণত ছোট ডেটা টাইপকে বড় ডেটা টাইপে রূপান্তর করে যাতে ডেটা হারিয়ে না যায়।
🔹 উদাহরণ:
#include <stdio.h>
int main() {
int num = 10;
float result;
result = num + 5.5; // int থেকে float এ কনভার্ট হচ্ছে
printf("Result = %.2f\n", result);
return 0;
}আউটপুট:
Result = 15.50এখানে num একটি int, কিন্তু float এর সাথে যোগ করার সময় এটি স্বয়ংক্রিয়ভাবে float এ কনভার্ট হয়েছে।
✋ Explicit Type Conversion (Manual Type Casting)
যখন প্রোগ্রামার নিজে থেকে কনভার্শন করে, তখন তাকে বলা হয় Explicit Type Casting।
এটি বন্ধনীর ভিতরে কাঙ্ক্ষিত টাইপ লিখে করা হয়।
🔹 সিনট্যাক্স:
(type_name) expression🔹 উদাহরণ:
#include <stdio.h>
int main() {
float num1 = 10.75;
int num2;
num2 = (int) num1; // float থেকে int এ রূপান্তর
printf("মূল সংখ্যা: %.2f\n", num1);
printf("রূপান্তরিত সংখ্যা: %d\n", num2);
return 0;
}আউটপুট:
মূল সংখ্যা: 10.75
রূপান্তরিত সংখ্যা: 10এখানে (int) লিখে প্রোগ্রামার স্পষ্টভাবে float → int এ রূপান্তর করেছে।
🔢 ভিন্ন ডেটা টাইপের অপারেশনে টাইপ কাস্টিং
#include <stdio.h>
int main() {
int a = 5, b = 2;
float result;
result = (float) a / b;
printf("Result = %.2f\n", result);
return 0;
}আউটপুট:
Result = 2.50যদি (float) না দেওয়া হতো, তাহলে a / b integer division হয়ে 2 পাওয়া যেত, কিন্তু এখন 2.50।
⚠️ টাইপ কাস্টিং সংক্রান্ত সতর্কতা
❌ ভুলভাবে টাইপ কাস্ট করলে ডেটা হারিয়ে যেতে পারে।
✅ সবসময় বুঝে কনভার্শন করো, বিশেষ করে float → int এ।
✅ (float) বা (double) ব্যবহার করে নির্ভুল রেজাল্ট পাওয়া যায়।
✅ স্বয়ংক্রিয় কনভার্শন কম্পাইলার করলেও Explicit কনভার্শন বেশি নিরাপদ।
🧾 সংক্ষেপে
| ধরন | বর্ণনা | উদাহরণ |
|---|---|---|
| Implicit | কম্পাইলার নিজে করে | int + float |
| Explicit | প্রোগ্রামার নিজে করে | (float)a / b |



