c - scope of struct pointers in functions -
अगर मेरे पास फ़ंक्शन में निम्न है:
struct उदाहरण * A = malloc ( आकार (संरचना उदाहरण)); क्या नोड / मेमोरी स्पेस बनाया जाता है जहां फ़ंक्शन समाप्त होने / पत्तियों के बाद एक अंक नष्ट हो जाता है? या क्या ढेर में रहना है?
नहीं malloc द्वारा आवंटित स्मृति मुक्त 'd। इस तरह से करने से पहले आवंटित रहेगी:
char * फ़ंक्शन (शून्य) {char c = 'a'; वापसी और सी; } दूसरी ओर, , बुरा है, क्योंकि यह ऑब्जेक्ट गुंजाइश से बाहर जाता है जब फ़ंक्शन समाप्त हो जाता है।
malloc आवंटित स्मृति ढेर पर घोषित करने वाले चर स्टैक पर स्थान आवंटित करते हैं। ढेर क्षेत्र से प्रभावित है, ढेर नहीं है। पॉकेटर्स के उपयोग के बारे में अतिरिक्त जानकारी के लिए, जैसे मेमोरी लीक ( malloc 'ऐसी स्मृति जो हमेशा के लिए बनी रहती है), यात्रा करें।
Comments
Post a Comment