30 Stimmen

sizeof mit einem Typ oder einer Variablen

Kürzlich hat jemand einen anderen Benutzer für die Verwendung von sizeof var anstelle von sizeof(type) gelobt. Ich dachte immer, das sei nur eine Stilentscheidung. Gibt es einen signifikanten Unterschied? Zum Beispiel wurden die Zeilen mit f und ff als besser angesehen als die Zeilen mit g und gg:

 typedef struct _foo {} foo;

 foo *f = malloc(count * sizeof f);
 foo *g = malloc(sizeof(foo) * count);

 foo **ff = malloc(count * sizeof *ff);
 foo **gg = malloc(sizeof(foo*) * count);

Meiner Meinung nach ist der erste Satz nur eine Frage des Stils. Aber im zweiten Zeilenpaar kann das zusätzliche zweite * leicht mit einer Multiplikation verwechselt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X