एक और संभावित कारण यह है कि, लिंक-टाइम पॉइंटर्स पर एक पता दिया जाता है, लेकिन एक सूचक को अप्रत्यक्ष रूप से संबोधित / डी-रेफर करना प्रोग्रामर की जिम्मेदारी है। आमतौर पर, संकलक कम परवाह नहीं करता है, लेकिन प्रोग्रामर को पॉइंटर्स का प्रबंधन करने और यह सुनिश्चित करने के लिए कि कोई स्मृति रिसाव नहीं होता है, बोझ को पारित किया जाता है।
वास्तव में, संक्षेप में, वे इस अर्थ में आरंभिक हैं कि लिंक-टाइम पर पॉइंटर चर का पता दिया जाता है। ऊपर आपके उदाहरण कोड में, जो किसी SIGSEGV को क्रैश या उत्पन्न करने की गारंटी है।
पवित्रता के लिए, हमेशा NULL को पॉइंटर्स इनिशियलाइज़ करें, इस तरह से अगर कोई बिना इसके डीरेलमेंट करने का प्रयास करता है malloc
या new
प्रोग्रामर को इस कारण से क्लू देगा कि प्रोग्राम गलत व्यवहार क्यों करता है।
आशा है कि यह मदद करता है और समझ में आता है,