Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी और सी ++ के बीच असंगति

यहाँ हम C और C++ के बीच कुछ असंगतियाँ देखेंगे। कुछ सी कोड जिन्हें सी कंपाइलर का उपयोग करके संकलित किया जा सकता है, लेकिन सी ++ कंपाइलर में संकलित नहीं होता है। और त्रुटि भी देता है।

  • हम एक सिंटैक्स का उपयोग करके फ़ंक्शन को परिभाषित कर सकते हैं, जो वैकल्पिक रूप से तर्क सूची के बाद तर्क प्रकार निर्दिष्ट करता है।

उदाहरण

#include<stdio.h>
void my_function(x, y)int x;int y; { // Not valid in C++
   printf("x = %d, y = %d", x, y);
}
int main() {
   my_function(10, 20);
}

आउटपुट

x = 10, y = 20

आउटपुट

Error in C++ :- x and y was not declared in this scope
  • C, या C++ के कुछ पुराने संस्करण में, डिफ़ॉल्ट चर प्रकार पूर्णांक है। लेकिन नए C++ में, यह एक त्रुटि उत्पन्न करेगा।

उदाहरण

#include<stdio.h>
main() {
   const x = 10;
   const y = 20;
   printf("x = %d, y = %d", x, y);
}

आउटपुट

x = 10, y = 20

आउटपुट

Error in C++ :- x does not name a type
y does not name a type
  • C में, बाहरी कीवर्ड का उपयोग किए बिना वैश्विक डेटा ऑब्जेक्ट को कई बार घोषित किया जा सकता है। सी कंपाइलर इसे एक बार कई घोषणाओं के लिए मानता है।

उदाहरण

#include<stdio.h>
int x;
int x;
int main() {
   x = 10;
   printf("x = %d", x);
}

आउटपुट

x = 10

आउटपुट

Error in C++ :- Redefinition of int x
  • C में, हम किसी भी पॉइंटर प्रकार के वेरिएबल को असाइनमेंट या इनिशियलाइज़ करने के लिए राइट हैंड ऑपरेटर के रूप में शून्य पॉइंटर का उपयोग कर सकते हैं।

उदाहरण

#include<stdio.h>
#include<malloc.h>
void my_function(int n) {
   int* ptr = malloc(n* sizeof(int)); //implicitly convert void* to int*
   printf("Array created. Size: %d", n);
}
main() {
   my_function(10);
}

आउटपुट

Array created. Size: 10

आउटपुट

Error in C++ :- Invalid conversion of void* to int*
  • C में, यदि तर्क प्रकार निर्दिष्ट नहीं है, तो हम कई तर्क पारित कर सकते हैं।

उदाहरण

#include<stdio.h>
void my_function() {
   printf("Inside my_function");
}
main() {
   my_function(10, "Hello", 2.568, 'a');
}

आउटपुट

Inside my_function

आउटपुट

Error in C++ :- Too many arguments to function 'void my_function()'

  1. सी और सी ++ में संरचनाओं के बीच अंतर

    यहां हम देखेंगे कि सी में संरचनाओं और सी ++ में संरचनाओं के बीच क्या अंतर हैं। सी ++ संरचनाएं ज्यादातर सी ++ में कक्षाओं की तरह होती हैं। सी संरचना में, सभी सदस्य सार्वजनिक होते हैं, लेकिन सी ++ में, वे डिफ़ॉल्ट रूप से निजी होते हैं। कुछ अन्य अंतर नीचे सूचीबद्ध हैं। C संरचना C++ संरचना सी में संरच

  1. सी ++ और सी # के बीच कौन सा तेज़ है?

    C++ एक मध्यम स्तर की भाषा है। इसे 1979 में बजेर्ने स्ट्रॉस्ट्रुप द्वारा विकसित किया गया था। यह सी भाषा और एक वस्तु-उन्मुख भाषा के लिए सिर्फ एक वृद्धि है। C# एंडर्स हेजल्सबर्ग द्वारा विकसित आधुनिक और वस्तु-उन्मुख भाषा है। यह .NET ढांचे का एक हिस्सा है। इसे कॉमन लैंग्वेज इंफ्रास्ट्रक्चर (CLI) के लिए

  1. सी ++ और सी # के बीच अंतर

    C++ एक सांख्यिकीय रूप से टाइप की गई, संकलित, सामान्य-उद्देश्य, केस-संवेदी, फ्री-फॉर्म प्रोग्रामिंग भाषा है जो प्रक्रियात्मक, वस्तु-उन्मुख और सामान्य प्रोग्रामिंग का समर्थन करती है। C++ को एक मध्य-स्तरीय भाषा के रूप में माना जाता है, क्योंकि इसमें उच्च-स्तरीय और निम्न-स्तरीय भाषा सुविधाओं दोनों का स