क्या पॉइंटर का आकार आकार के समान होता है जैसा कि इसके बिंदु पर इंगित करता है, या पॉइंटर्स के पास हमेशा एक निश्चित आकार होता है? उदाहरण के लिए ...सूचक का आकार क्या है?
int x = 10;
int * xPtr = &x;
char y = 'a';
char * yPtr = &y;
std::cout << sizeof(x) << "\n";
std::cout << sizeof(xPtr) << "\n";
std::cout << sizeof(y) << "\n";
std::cout << sizeof(yPtr) << "\n";
इसका उत्पादन क्या होगा? sizeof(xPtr)
रिटर्न 4 और sizeof(yPtr)
रिटर्न 1 होगा, या 2 पॉइंटर्स वास्तव में एक ही आकार को वापस करेंगे? कारण मैं यह पूछता हूं क्योंकि पॉइंटर्स मेमोरी एड्रेस संग्रहीत कर रहे हैं, न कि उनके संबंधित संग्रहित पते के मूल्य।
सच नहीं, यहां तक कि एक ही मशीन सूचक आकार पर भिन्न हो सकते हैं @ cf16 वे कर सकते हैं – 4pie0
, लेकिन मेरे इस सवाल का जवाब केवल दावा है कि आधुनिक डेस्कटॉप ओएस के लिए, यानी Win32/64, लिनक्स ... तुम मुझे दे सकते हैं इसका एक उदाहरण उन प्रणालियों में से एक पर भिन्न होता है? –
आपने कुछ अपवादों का उल्लेख किया है, उदाहरण के लिए, लेकिन ठीक – 4pie0