25.09.2013, 18:55
Ich denke, du hattest die free()s eingebaut, weil es abstürzt? Aber ja, auf Verdacht free() einbauen führt zu mehr Problemen als das es löst. Ein free() zu wenig führt "nur" zu unnötig erhöhtem Speicherverbrauch.
Die komischen Zeichen kommen übrigens, weil du einen Zeiger auf eine Funktion auf eine Zeichenkette castest und dann anzeigst. So etwas verrücktes geht unter C nicht, denn an der Stelle, wo der Zeiger hinzeigt steht ja nur Maschinencode und keine richtige Zeichenkette.
Die komischen Zeichen kommen übrigens, weil du einen Zeiger auf eine Funktion auf eine Zeichenkette castest und dann anzeigst. So etwas verrücktes geht unter C nicht, denn an der Stelle, wo der Zeiger hinzeigt steht ja nur Maschinencode und keine richtige Zeichenkette.