Einzelnen Beitrag anzeigen
Alt 19.10.2003, 22:54   #5
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

Zitat:
Wenn ich aber innerhalb der Funktion NewBrand 'brand' ausgebe, wird es korrekt ausgegeben, wenn ich aber 'brand' an main zurückgebe, und dann in main die entsprechende Var. ausgebe, sehe ich nur Sonderzeichen.
Das liegt daran, dass du einen zeiger auf eine stack-variable zurückgibts. Darf man nicht machen, da dieser anch dem Verlassen der Fu. nicht mehr gültig ist.
Korrekte Vorgangsweise: Speicher am Heap allokieren oder Speicher für string in der main funktion vereinbaren + zeiger auf diesen der Fu. übergeben.

fg
-hannes
Biri ist offline   Mit Zitat antworten