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

C/C++ में स्विच स्टेटमेंट में वेरिएबल को घोषित क्यों नहीं किया जा सकता है?

वेरिएबल्स को एक स्विच स्टेटमेंट में घोषित किया जा सकता है। आपको बस उन्हें घोषित करने और स्विच स्टेटमेंट में एक नए दायरे में उनका उपयोग करने की आवश्यकता होगी। उदाहरण के लिए,

उदाहरण

#include<iostream>
using namespace std;

int main() {
   int i = 10;
   switch(i) {
      case 2:
      //some code
      break;
      case 10:{
         int x = 13;
         cout << x;
      }
   }
   return 0;
}

आउटपुट

यह आउटपुट देगा:

13

यदि आप खुले में चर को घोषित करने का प्रयास करते हैं तो आपको एक त्रुटि मिल सकती है क्योंकि केस लेबल पर जाना गोटो का उपयोग करने जैसा ही है, इसलिए जब आप एक ही दायरे में हों तो आपको स्थानीय चर घोषणा पर कूदने की अनुमति नहीं है के रूप में और हो सकता है कि उस दायरे में कहीं और इसका उपयोग कर रहा हो।


  1. हमें C/C++ में वैश्विक चरों का उपयोग करने से क्यों बचना चाहिए?

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

  1. क्या स्थानीय चर की स्मृति को सी/सी ++ में इसके दायरे से बाहर पहुंचा जा सकता है?

    आइए हम एक उदाहरण देखते हैं जहां आप किसी स्थानीय चर की मेमोरी को उसके दायरे से बाहर एक्सेस करने में सक्षम हो सकते हैं। उदाहरण #include<iostream> int* foo() {    int x = 3;    return &x; } int main() {    int* address = foo();    cout << *addres

  1. C++ में वेरिएबल का दायरा

    एक दायरा कार्यक्रम का एक क्षेत्र है और मोटे तौर पर तीन स्थान हैं, जहां चर घोषित किए जा सकते हैं - किसी फ़ंक्शन या ब्लॉक के अंदर जिसे स्थानीय चर कहा जाता है, फ़ंक्शन पैरामीटर की परिभाषा में जिसे औपचारिक पैरामीटर कहा जाता है। सभी कार्यों के बाहर जिन्हें वैश्विक चर कहा जाता है। स्थानीय चर का उपयोग क