यहां हम कुछ प्रोग्राम देखेंगे जो सी या सी ++ कंपाइलर्स में संकलित होने पर अलग-अलग परिणाम लौटाएंगे। हमें ऐसे कई कार्यक्रम मिल सकते हैं, लेकिन यहां हम उनमें से कुछ के बारे में चर्चा कर रहे हैं।
- सी और सी++ में, कैरेक्टर लिटरल को अलग तरीके से माना जाता है। सी में, उन्हें इंट के रूप में माना जाता है लेकिन सी ++ में, उन्हें वर्णों के रूप में माना जाता है। इसलिए यदि हम sizeof() ऑपरेटर का उपयोग करके आकार की जांच करते हैं, तो यह C में 4 और C++ में 1 लौटाएगा।
उदाहरण
#include<stdio.h> int main() { printf("The character: %c, size(%d)", 'a', sizeof('a')); }
आउटपुट
The character: a, size(4)
उदाहरण
#include<iostream.h> int main() { printf("The character: %c, size(%d)", 'a', sizeof('a')); }
आउटपुट (C++)
The character: a, size(1)
सी में यदि हम स्ट्रक्चर का उपयोग करते हैं, तो हमें स्ट्रक्चर टैग का उपयोग करना होगा जब हम इसका उपयोग कर रहे हैं जब तक कि कुछ टाइपिफ़ का उपयोग नहीं किया जाता है। लेकिन C++ में, हमें स्ट्रक्चर्स का उपयोग करने के लिए टैग को स्ट्रक्चर करने की जरूरत नहीं है।
उदाहरण
#include<stdio.h> struct MyStruct{ int x; char y; }; int main() { struct MyStruct st; //struct tag is present st.x = 10; st.y = 'd'; printf("Struct (%d|%c)", st.x, st.y); }
आउटपुट (सी)
Struct (10|d)
उदाहरण
#include<iostream> struct MyStruct{ int x; char y; }; int main() { MyStruct st; //struct tag is not present st.x = 10; st.y = 'd'; printf("Struct (%d|%c)", st.x, st.y); }
आउटपुट (C++)
Struct (10|d)
बूलियन प्रकार के डेटा का आकार C और C++ में भिन्न होता है।
उदाहरण
#include<stdio.h> int main() { printf("Bool size: %d", sizeof(1 == 1)); }
आउटपुट (सी)
Bool size: 4
उदाहरण
#include<iostream> int main() { printf("Bool size: %d", sizeof(1 == 1)); }
आउटपुट (C++)
Bool size: 1