2015-11-02 2 views
-3
for (n=0;n<sizeof(arr)/sizeof(*arr); n++) 

J'ai obtenu ce morceau de code et je ne sais pas ce que cela fait '/'.Que fait cette barre oblique faire

Est-ce juste un opérateur arithmétique et signifie «diviser par»? 'Arr' est mon tableau, donc est-ce que cela divise simplement la taille de mon tableau par la taille du tableau lui-même?

Je suis confus

+0

Il existe une différence entre 'sizeof (arr)' (la taille du tableau entier) et 'sizeof (* arr)' (la taille d'un élément de tableau). –

Répondre

3

/ est l'opérateur de division et sizeof arr/sizeof *arr est le moyen idiomatiques pour obtenir le nombre d'éléments d'un tableau (nombre d'octets du tableau/nombre d'octets du premier élément du tableau).