কম্পিউটার টিউটোরিয়াল

সি ভাষায় ইমপ্লিসিট ও এক্সপ্লিসিট টাইপ কনভার্সন


এক ডেটা টাইপকে অন্য ডেটা টাইপে কনভার্ট করাকে টাইপ কনভার্সন বলা হয়।

  • ইমপ্লিসিট টাইপ কনভার্সন
  • এক্সপ্লিসিট টাইপ কনভার্সন

ইমপ্লিসিট টাইপ কনভার্সন

  • অপারেন্ডগুলো ভিন্ন ডেটা টাইপের হলে কম্পাইলার ইমপ্লিসিট টাইপ কনভার্সন প্রদান করে।

  • এটি কম্পাইলার স্বয়ংক্রিয়ভাবে করে ছোট ডেটা টাইপকে বড় ডেটা টাইপে কনভার্ট করে।

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

  1. C ভাষায় স্ট্রিং-এর ইনপুট এবং আউটপুট কী?

  2. C ভাষায় বিভিন্ন পয়েন্টার অপারেশন এবং পয়েন্টার সমস্যা ব্যাখ্যা

  3. সি ভাষায় ব্যবহৃত বিভিন্ন অপারেটর এবং এক্সপ্রেশন কী কী?

  4. সি ভাষায় প্রাইমারি ডেটা টাইপ (Primary Data Types) কী?