Wie funktionieren malloc () und free ()?

Möchte ich wissen, wie malloc und free Arbeit.

int main() {
    unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char));
    memset(p,0,4);
    strcpy((char*)p,"abcdabcd"); //**deliberately storing 8bytes**
    cout << p;
    free(p); //Obvious Crash, but I need how it works and why crash.
    cout << p;
    return 0;
}

Ich wäre wirklich dankbar, wenn die Antwort ist in der Tiefe auf Speicher-Ebene, wenn es möglich ist.

InformationsquelleAutor der Frage mahesh | 2009-07-13

Schreibe einen Kommentar