কম্পিউটার

সি ভাষায় অন্তর্নিহিত এবং স্পষ্ট টাইপ রূপান্তর কি?


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

  • অন্তর্ভুক্ত প্রকার রূপান্তর
  • স্পষ্ট ধরনের রূপান্তর

অন্তর্ভুক্ত প্রকার রূপান্তর

  • যখন অপারেন্ডগুলি বিভিন্ন ডেটা প্রকারের হয় তখন কম্পাইলার অন্তর্নিহিত প্রকার রূপান্তর প্রদান করে।

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

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

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

  2. বিভিন্ন পয়েন্টার অপারেশন এবং সি ল্যাঙ্গুয়েজে পয়েন্টার নিয়ে সমস্যা কি?

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

  4. সি ল্যাঙ্গুয়েজে প্রাথমিক ডাটা টাইপ কি কি?