एक विकल्प है कि हम अपना खुद का sizeof() ऑपरेटर लागू कर सकते हैं। sizeof() ऑपरेटर एक यूनरी ऑपरेटर है और किसी भी प्रकार के डेटा का आकार गणना करने के लिए उपयोग किया जाता है। हम अपना खुद का sizeof() ऑपरेटर लागू करने के लिए #define डायरेक्टिव का उपयोग कर सकते हैं जो बिल्कुल 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));