Anzeige:
Ergebnis 1 bis 6 von 6

Thema: realloc in Funktion auslagern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Zitat Zitat von dml Beitrag anzeigen
    Was zeigen würde, das ein Doppelpointer gar nicht erst benötigt wird.
    Natürlich wird der Doppelpointer benötigt, zumindest in C, und wenn man es so macht wie du. mymalloc() und myrealloc() verändern lediglich die lokale Variable "data", deren Gültigkeitsbereich nur bis zum Funktionsende reicht.

    Dementsprechend solltest du hier
    printf("&a=%p, a=%p\n",&a,a);
    myrealloc(a, 6);
    printf("&a=%p, a=%p\n",&a,a);
    beide Male den gleichen Wert für "a=" ausgegeben bekommen.

    Und daß die Zuweisungen hinterher funktionieren, hat überhaupt nichts zu sagen, du pinselst halt über deinen zugewiesenen Speicherbereich hinüber, das kann später wildeste Auswirkungen haben. (C ist halt nicht Pascal oder Java. BTW: Nimm mir es nicht übel, aber kaufe dir ein Buch, welches solche elementaren Grundlagen besser als dein vorhandenes Lehrbuch vermittelt.)
    Geändert von sommerfee (18-05-2013 um 08:02 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •