Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

seg fault sorusu?

Başlatan mir_as82, 07 Nisan 2016, 11:19:24

mir_as82

int fonk (char *id, char *value){
   struct myStruct * rs ;
         ....
        free(rs);// Bazen SEG FAULT atıyor, bazen atmıyor

}

Yukarıda pseudo kodunu (sözde kod)verdiğim fonksiyon hatalı. Bunu biliyorum. Sorum ise şu:
Bu rs değeri rastgele bir değer alıyor ve ben onu kullanmadan free liyorum. Bazen seg fault atıyor bazen atmıyor. Burada yapılan yanlış. Ama ben yanlışın arkasında neler oluyor onu merak etttim.
Program çalışmaya başlarken heap alanında ona ayrılan alan belli oluyor da, o alanın dışına çıkıyor bu rastgele alınan değer(rs), ondan mı seg fault atıyor?
Peki kendine ait alanın dışına çıkmazsa, seg fault atmayan olasılıkta, gidip KENDINE AIT OLAN rastgele aldığı değere karşılık gelen yeri mi free ler?
Burada neye göre seg fault atıyor neye göre atmıyor?