আমরা নিজেদের sizeof() অপারেটর বাস্তবায়ন করতে পারি। sizeof() অপারেটর একটি আনারি অপারেটর এবং যেকোনো টাইপের ডাটার সাইজ ক্যালকুলেট করতে ব্যবহৃত হয়। আমরা #define ডিরেক্টিভ ব্যবহার করে নিজেদের sizeof() অপারেটর বাস্তবায়ন করতে পারি যা sizeof() অপারেটরের মতো একদম একইভাবে কাজ করবে।
নিজের sizeof() অপারেটর বাস্তবায়ন করার সিনট্যাক্স নিচে দেওয়া হল,
#define Any_name(object) (char *)(&object+1) - (char *)(&object)
এখানে,
Any_name − আপনার নিজের sizeof() অপারেটরের জন্য চাওয়া নাম।
C ভাষায় sizeof() অপারেটর বাস্তবায়ন করার একটি উদাহরণ নিচে দেওয়া হল,
উদাহরণ
#include <stdio.h>
#define to_find_size(object) (char *)(&object+1) - (char *)(&object)
int main() {
int x;
char a[50];
printf("Integer size : %d\n", to_find_size(x));
printf("Character size : %d\n", to_find_size(a));
return 0;
}
আউটপুট
Integer size : 4 Character size : 50
উপরের প্রোগ্রামে, #define ডিরেক্টিভ ব্যবহার করে আমাদের নিজের sizeof() অপারেটর ডিক্লেয়ার করা হয়েছে এবং এটি ইন্টিজার এবং ক্যারেক্টার টাইপ অ্যারের সাইজ ক্যালকুলেট করছে।
#define to_find_size(object) (char *)(&object+1) - (char *)(&object) ..... int x; char a[50]; printf("Integer size : %d\n", to_find_size(x)); printf("Character size : %d\n", to_find_size(a));