Dann mach das doch.
Nein.
Der wird nur dereserviert.
Wie wenn du in eine Gaststätte gehst, bestellst nen tisch, dann stellen die ein reserviert schild an den Tisch, wenn du da bist, kommt das schild weg, aber du sitzt ja trotzdem noch da.
Es kann halt eben nur passieren, dass der Speicher bei einem nächsten Alloctieren wieder überschrieben wird, deswegen sollte man das am Schluss machen, wenn alles durch ist und dann den Zeiger auf NULL schreiben. (Dann ist er frei und leer.)
Ja, die auch. Da der Array aber leer ist, besteht er am Anfang nur aus einem zeichen (\0) und strcpy kopiert nur bis zum Zeichenkettenendekennzeichen. (Wie ich dieses Wort liebe )
Aber im Endeffekt richtig, wenn da ein längerer Text drin steht, als der, der vorher mit asprintf benutzt wurde, gibts nen Bufferoverflow.
Deswegen würde ich nur einen charpointer und keine Arrays bei dem beispiel verwenden.