Nochmal malloc()



  • Hallo,

    ich möchte nicht nerven, aber eine Sache verwirrt mich ein wenig:

    Es wird hier öfter betont (auch in der FAQ), dass der Rückgabewert
    von malloc() nicht gecastet werden soll, weil das unnötig,
    schlechter Stil und fehlerträchtig sei. Ich verstehe auch die Erklärungen.

    Das Buch, mit dem ich arbeite ist K&R. Dort wird der Rückgabewert von
    malloc() und calloc() explizit gecastet (Beispielprogramm Kapitel 6.5,
    Kapitel 7.8.5 Storage Management).

    Das Buch ist die Second Edition, also ANSI C.

    Hat das nicht mehr casten etwas mit moderneren Compilern zu tun?
    Oder wurden die Funktionen verändert?

    Grüße



  • Wenn du castest, dann kompiliert das ganze auch noch mit einem C++ Compiler, was es ohne Cast nicht tut...


  • Mod

    Wenn du castest, dann compiliert das auch, wenn du stdlib.h nicht eingebunden hast. Was eventuell zu lustigen Effekten und vor allem zu mangelnder Fehlerprüfung führt.


Anmelden zum Antworten