समझौता अवधारणा निम्नलिखित कोड की कोशिश की:से मुक्त
#include<stdio.h>
int main()
{
int *p,*q;
p = (int *)malloc(sizeof(int));
*p =10;
q = p;
printf("%u \n",p);
printf("%u \n",q);
free(p);
printf("%u \n",p);
return 0;
}
उत्पादन मिल गया इस प्रकार है:
[[email protected] Tazim]# ./a.out
154804232
154804232
154804232
क्यों पी के अंदर उस पते पर भी मैं free(p);
किया है मुद्रित है? क्या free(p)
है तो क्या किया?
मैं स्पष्ट/मॉलोक की अवधारणा को स्पष्ट रूप से समझना चाहता हूं। कोई मदद मूल्यवान होगा।
यह सच है, लेकिन सूचक मूल्य मुद्रित करना अभी भी अपरिभाषित व्यवहार है - http://stackoverflow.com/q/4076563/57428 – sharptooth
@sharptooth - धन्यवाद। पता नहीं था कि – MByD