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

C में const क्वालिफायर


const क्वालिफायर वेरिएबल को रीड-ओनली घोषित करता है - इनिशियलाइजेशन के बाद संशोधन कंपाइल एरर देता है।

उदाहरण

#include <stdio.h>

int main() {
    const int x = 10;
    // x = 12;  // Error: assignment of read-only variable 'x'
    printf("x = %d\n", x);
    return 0;
}

आउटपुट (यदि संशोधन हटाया जाए)

x = 10

const के प्रकार और अर्थ

घोषणाअर्थ
const int x;x कॉन्स्ट इंट (मान नहीं बदल सकता)
int const x;ऊपर के समान
const int *p;p कॉन्स्ट इंट को इंगित करता है (*p नहीं बदल सकता, p बदल सकता है)
int *const p;p कॉन्स्ट पॉइंटर (p नहीं बदल सकता, *p बदल सकता है)
const int *const p;दोनों कॉन्स्ट

लाभ

  • डॉक्यूमेंटेशन: इंटेंट स्पष्ट करता है।
  • कंपाइलर ऑप्टिमाइज़ेशन: रीड-ओनली मेमोरी (.rodata) में रख सकता है।
  • सुरक्षा: आकस्मिक संशोधन रोकता है।
  • सही फंक्शन सिग्नेचर: void func(const int *ptr) - फंक्शन *ptr नहीं बदलेगा।

नोट

  • const ऑब्जेक्ट का एड्रेस नॉन-कॉन्स्ट पॉइंटर को असाइन करना चेतावनी देता है (लेकिन अनुमत है)।
  • पॉइंटर के माध्यम से const ऑब्जेक्ट संशोधित करना **अनडिफाइंड बिहेवियर** है।
  • C++ में constexpr (कंपाइल-टाइम कॉन्स्टेंट) और const मेम्बर फंक्शन्स भी हैं।
  1. JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स JavaScript Const: ब्लॉक-स्कोप्ड कॉन्स्टेंट्स

    const ES2015 (ES6) में पेश किया गया एक ब्लॉक-स्कोप्ड वेरिएबल डिक्लेरेशन है जो रीअसाइनमेंट को रोकता है। यह आधुनिक JavaScript में डिफ़ॉल्ट विकल्प होना चाहिए जब रीअसाइनमेंट की आवश्यकता न हो। उदाहरण { try { a = 44; // TypeError: Assignment to constant variable } catch (e

  1. JavaScript में Const vs Let JavaScript में Const vs Let

    Const और let को ES2015 में ब्लॉक-स्कोप्ड वेरिएबल घोषित करने के लिए पेश किया गया था। जबकि let का उपयोग करके घोषित वेरिएबल को पुनः असाइन किया जा सकता है, const का उपयोग करके घोषित वेरिएबल को पुनः असाइन नहीं किया जा सकता। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <me

  1. HTML value एट्रिब्यूट HTML value एट्रिब्यूट

    परिचय HTML value एट्रिब्यूट HTML दस्तावेज़ में एक HTML एलिमेंट के प्रारंभिक मान को परिभाषित करता है। इसे button, input, meter, li, option, progress और param HTML एलिमेंट्स पर लागू किया जा सकता है। सिंटैक्स <tagname value=text></tagname> उदाहरण <!DOCTYPE html> <html> <sty