J'ai récemment vu quelqu'un féliciter un autre utilisateur pour son utilisation de sizeof var au lieu de sizeof(type). J'ai toujours pensé que c'était juste un choix de style. Y a-t-il une différence significative ? A titre d'exemple, les lignes avec f et ff ont été considérées comme meilleures que les lignes avec g et 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);
À mon avis, la première série est juste une question de style. Mais dans la deuxième paire de lignes, le deuxième * supplémentaire peut facilement être confondu avec une multiplication.