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

সি ও সি++-তে ক্যারেক্টার লিটারেলের টাইপ পার্থক্য


সি++-তে ক্যারেক্টার কনস্ট্যান্টের আকার হলো char। সি-তে ক্যারেক্টার কনস্ট্যান্টের টাইপ হলো ইন্টিজার (int)। তাই সি-তে ৩২-বিট আর্কিটেকচারে sizeof('a') হলো ৪, এবং CHAR_BIT হলো ৮। কিন্তু sizeof(char) সি এবং সি++-এ দুটোই এক বাইট।

উদাহরণ (সি)

#include <stdio.h>
main() {
    printf("%d", sizeof('a'));
}

আউটপুট

4

উদাহরণ (সি++)

#include <iostream>
using namespace std;
main() {
    cout << sizeof('a');
}

আউটপুট

1

দুই কেসেই আমরা একই কাজ করছি। কিন্তু সি-তে sizeof('a') ৪ রিটার্ন করে কারণ এটি ইন্টিজার হিসেবে বিবেচিত হয়। কিন্তু সি++-এ এটি ১ রিটার্ন করে। এটি ক্যারেক্টার হিসেবে বিবেচিত হয়।

  1. C/C++-এ strncmp() এবং strcmp()-এর পার্থক্য

  2. C এবং C++-এ স্ট্রিং লিটারেলের টাইপ কী?

  3. C++ স্ট্রিং কনস্ট্যান্ট এবং ক্যারেক্টার কনস্ট্যান্টের পার্থক্য

  4. ডেটা টাইপ এবং ডেটা স্ট্রাকচারের পার্থক্য