Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में बाहरी भंडारण वर्ग


बाहरी भंडारण वर्ग विनिर्देशक आपको उन वस्तुओं को घोषित करने देता है जिनका उपयोग कई स्रोत फ़ाइलें कर सकती हैं। एक बाहरी घोषणा वर्णित चर को वर्तमान स्रोत फ़ाइल के अगले भाग द्वारा प्रयोग करने योग्य बनाती है। यह घोषणा परिभाषा को प्रतिस्थापित नहीं करती है। घोषणा का उपयोग बाहरी रूप से परिभाषित चर का वर्णन करने के लिए किया जाता है।

एक बाहरी घोषणा किसी फ़ंक्शन के बाहर या किसी ब्लॉक की शुरुआत में दिखाई दे सकती है। यदि घोषणा किसी फ़ंक्शन का वर्णन करती है या किसी फ़ंक्शन के बाहर प्रकट होती है और बाहरी लिंकेज के साथ किसी ऑब्जेक्ट का वर्णन करती है, तो कीवर्ड बाहरी वैकल्पिक है।

यदि किसी पहचानकर्ता के लिए घोषणा पहले से ही फ़ाइल दायरे में मौजूद है, तो किसी ब्लॉक के भीतर पाए जाने वाले समान पहचानकर्ता की कोई भी बाहरी घोषणा उसी ऑब्जेक्ट को संदर्भित करती है। यदि पहचानकर्ता के लिए कोई अन्य घोषणा फ़ाइल दायरे में मौजूद नहीं है, तो पहचानकर्ता का बाहरी संबंध है।

C++ ऑब्जेक्ट्स या फंक्शन्स के नाम के लिए एक्सटर्नल स्टोरेज क्लास स्पेसिफायर के उपयोग को प्रतिबंधित करता है। प्रकार की घोषणाओं के साथ बाहरी विनिर्देशक का उपयोग करना अवैध है। एक बाहरी घोषणा कक्षा के दायरे में प्रकट नहीं हो सकती।

आप बाहरी कीवर्ड का उपयोग इस प्रकार कर सकते हैं ताकि वेरिएबल को फाइलों में साझा किया जा सके -

file3.h

extern int global_variable;  /* Declaration of the variable */

file1.c

#include "file3.h"  /* Declaration made available here */
#include "prog1.h"  /* Function declarations */
/* Variable defined here */
int global_variable = 37;    /* Definition checked against declaration */

int increment(void) {
   return global_variable++;
}

file2.c

#include "file3.h"
#include "prog1.h"
#include <stdio.h>

void use_it(void)
{
   printf("Global variable: %d\n", global_variable++);
}

स्टैकओवरफ्लो पर निम्नलिखित प्रश्न बाहरी कीवर्ड के सार को पूरी तरह से पकड़ लेता है:https://stackoverflow.com/questions/1433204/how-do-i-use-extern-to-share-variables-between-source-files।



  1. सी भाषा में एक बाहरी भंडारण वर्ग क्या है?

    C प्रोग्रामिंग लैंग्वेज में चार स्टोरेज क्लासेस हैं, जो इस प्रकार हैं - स्वतः बाहरी स्थिर पंजीकरण वैश्विक चर / बाहरी चर कीवर्ड बाहरी है। ये चर ब्लॉक के बाहर घोषित किए गए हैं। दायरा - वैश्विक चर का दायरा पूरे कार्यक्रम में उपलब्ध है। डिफ़ॉल्ट मान शून्य है। एल्गोरिदम एल्गोरिथम नीचे दिया गय

  1. C++ . में भूलभुलैया II

    मान लीजिए कि एक भूलभुलैया में खाली जगह और दीवारों के साथ एक गेंद है। अब गेंद ऊपर, नीचे, बाएँ या दाएँ किसी भी दिशा में लुढ़क कर खाली रास्तों से जा सकती है, लेकिन दीवार से टकराने तक यह लुढ़कना बंद नहीं करेगी। जब गेंद रुकती है, तो वह अगली दिशा चुन सकती है। हमें गेंद, गंतव्य और भूलभुलैया की स्थिति शुरू

  1. सी ++ में भूलभुलैया

    मान लीजिए कि एक भूलभुलैया में खाली जगह और दीवारों के साथ एक गेंद है। अब गेंद ऊपर, नीचे, बाएँ या दाएँ किसी भी दिशा में लुढ़क कर खाली रास्तों से जा सकती है, लेकिन दीवार से टकराने तक यह लुढ़कना बंद नहीं करेगी। जब गेंद रुकती है, तो वह अगली दिशा चुन सकती है। हमें गेंद की स्थिति, गंतव्य और भूलभुलैया शुरू