मैं एक 2-डी मैट्रिक्स बनाया ऐसा डबल सूचक का उपयोग कर:मुक्त एक डबल सूचक
int** pt; pt = (int*) malloc(sizeof(int)*10);
मुझे पता है कि एक सूचक है कि
free(ptr);
तरह मुक्त हो जाता है हम कैसे डबल सूचक मुक्त कर सकते हैं ?
क्या होगा यदि हम कुछ प्रिंट करते हैं और बाद में उस स्मृति को मुक्त करते हैं और प्रोग्राम से बाहर निकलते हैं? क्या अंतिम मेमोरी उसमें शामिल है जिसे हमने उपयोग किया था या यह प्रारंभिक के समान होगा?
for (int i=0; i<10; ++i) {
free(mat[i]);
}
तो शीर्ष स्तर के सूचक मुक्त:
यह इस बात पर निर्भर करता है कि आपने 'malloc' कैसे कहा जाता है। कोड कहां है? –
हमें कोड दिखाने की आवश्यकता है। –
@bledi तो आपको इन पॉइंटर्स के माध्यम से फिर से शुरू करने की आवश्यकता है, और पहले बिंदु डेटा मुक्त करें। फिर पॉइंटर्स खुद को मुक्त करें। अतीला के जवाब को देखो। प्रासंगिक malloc कोड डालने पर –