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.