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

C . में const char* p, char * const p, और const char * const p के बीच अंतर

सूचक

C प्रोग्रामिंग भाषा में, *p एक पॉइंटर में संग्रहीत मान का प्रतिनिधित्व करता है और p मान के पते का प्रतिनिधित्व करता है, जिसे पॉइंटर के रूप में संदर्भित किया जाता है।

कॉन्स्ट चार* और चार कांस्ट* कहता है कि सूचक एक स्थिर चार को इंगित कर सकता है और इस सूचक द्वारा इंगित चार के मान को बदला नहीं जा सकता है। लेकिन हम पॉइंटर के मान को बदल सकते हैं क्योंकि यह स्थिर नहीं है और यह किसी अन्य स्थिरांक को इंगित कर सकता है।

चार* स्थिरांक कहता है कि सूचक एक चार को इंगित कर सकता है और इस सूचक द्वारा इंगित चार के मान को बदला जा सकता है। लेकिन हम पॉइंटर का मान नहीं बदल सकते क्योंकि यह अब स्थिर है और यह किसी अन्य चार को इंगित नहीं कर सकता है।

const char* const कहता है कि सूचक एक निरंतर चार को इंगित कर सकता है और इस सूचक द्वारा इंगित int का मान बदला नहीं जा सकता है। और हम पॉइंटर के मान को भी नहीं बदल सकते हैं, साथ ही यह अब स्थिर है और यह किसी अन्य स्थिरांक को इंगित नहीं कर सकता है।

अंगूठे का नियम वाक्य रचना को दाएं से बाएं ओर नाम देना है।

// constant pointer to constant char
const char * const
// constant pointer to char
char * const
// pointer to constant char
const char *

उदाहरण (सी)

टिप्पणी किए गए त्रुटिपूर्ण कोड पर टिप्पणी करें और त्रुटि देखें।

#include <stdio.h>
int main() {
   //Example: char const*
   //Note: char const* is same as const char*
   const char p = 'A';
   // q is a pointer to const char
   char const* q = &p;
   //Invalid asssignment
   // value of p cannot be changed
   // error: assignment of read-only location '*q'
   //*q = 'B';
   const char r = 'C';
   //q can point to another const char
   q = &r;
   printf("%c\n", *q);
   //Example: char* const
   char u = 'D';
   char * const t = &u;
   //You can change the value
   *t = 'E';
   printf("%c", *t);
   // Invalid asssignment
   // t cannot be changed
   // error: assignment of read-only variable 't'
   //t = &r;
   //Example: char const* const
   char const* const s = &p;
   // Invalid asssignment
   // value of s cannot be changed
   // error: assignment of read-only location '*s'
   // *s = 'D';
   // Invalid asssignment
   // s cannot be changed
   // error: assignment of read-only variable 's'
   // s = &r;
   return 0;
}

आउटपुट

C
E

  1. सी # और विजुअल सी # के बीच अंतर

    सी # और विजुअल सी # दोनों समान हैं। जब आप C# विकास के लिए Visual Studio का उपयोग करते हैं, तो इसे Visual C# कहा जाता है। Visual C# को C# के कार्यान्वयन के रूप में देखें। Microsoft Visual Studio प्रोग्राम, वेब ऐप, वेब सेवाओं आदि को विकसित करने के लिए Microsoft का एक IDE है। Visual Studio का वर्तमान

  1. C# और .Net . के बीच अंतर

    C# एक प्रोग्रामिंग लैंग्वेज है और .NET एक फ्रेमवर्क है। .NET में सामान्य भाषा रनटाइम (CLR) है, जो .NET ढांचे का एक आभासी घटक है। .NET में न केवल C# है, बल्कि इसके माध्यम से आप VB, F# आदि के साथ काम कर सकते हैं। C# .NET का एक हिस्सा है और इसमें निम्नलिखित विशेषताएं हैं - बूलियन स्थितियां स्वचालित

  1. गो और जावा के बीच अंतर.

    जाओ गो एक प्रक्रियात्मक प्रोग्रामिंग भाषा है। पैकेज का उपयोग करके कार्यक्रमों को इकट्ठा किया जाता है। यह गतिशील भाषाओं के समान पर्यावरण अपनाने वाले पैटर्न का समर्थन करता है। जावा जावा एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। जावा शांत तेज, विश्वसनीय और सुरक्षित है। यह सबसे व्यापक रूप से उपयो