इसमें कोई फर्क नही है। वे दोनों "ए" को पूर्णांक घोषित करते हैं जिसे बदला नहीं जा सकता।
वह स्थान जहाँ अंतर दिखाई देने लगता है, जब आप पॉइंटर्स का उपयोग करते हैं।
ये दोनों:
const int *a
int const *a
घोषित "a" एक पूर्णांक के लिए एक संकेतक है जो नहीं बदलता है। "a" को सौंपा जा सकता है, लेकिन "* a" नहीं कर सकता।
int * const a
"a" को पूर्णांक के लिए एक स्थिर सूचक घोषित करता है। * "ए" को सौंपा जा सकता है, लेकिन "ए" नहीं कर सकता।
const int * const a
निरंतर पूर्णांक के लिए "a" को एक स्थिर सूचक बताता है। न तो "ए" और न ही "* ए" को सौंपा जा सकता है।
static int one = 1;
int testfunc3 (const int *a)
{
*a = 1; /* Error */
a = &one;
return *a;
}
int testfunc4 (int * const a)
{
*a = 1;
a = &one; /* Error */
return *a;
}
int testfunc5 (const int * const a)
{
*a = 1; /* Error */
a = &one; /* Error */
return *a;
}