Comment se fait-il qu'il n'y a pas de page d'homme pour la fonction sizeof
c?
$ man 3 sizeof
No manual entry for sizeof in section 3
$ man sizeof
No manual entry for sizeof
Je vois des pages de l'homme pour d'autres fonctions C comme malloc
si je cours man 3 malloc
et des commandes similaires, mais rien pour sizeof
.
Vous pouvez utiliser man -wK 'sizeof' | sort -u
Pour trouver les articles contenant sizeof
, mais cela retournera beaucoup de résultats. Cependant, remarquez que chaque article sur quelque chose aura cette chose comme un mot nuage entouré d'espaces, nous rechercherons l'article comme celui-ci zgrep -P '\ssizeof\s' /usr/share/man/man3/*
. Mais la recherche dans la section 3 ne donne aucune information utile, alors je vais chercher dans la section 7
$ zgrep -P '\ssizeof\s' /usr/share/man/man7/*
/usr/share/man/man7/inotify.7.gz: len = read(fd, buf, sizeof buf);
/usr/share/man/man7/operator.7.gz:! ~ ++ \-\- + \- (type) * & sizeof right to left
Comme vous pouvez le constater, le sizeof
est mentionné dans la page de l'opérateur, car ce n'est pas une fonction mais un opérateur et cela fonctionne même sans parenthèses pour les identifiants comme sizeof buf
dessus
OPERATOR(7) Linux Programmer's Manual OPERATOR(7)
NAME top
operator - C operator precedence and order of evaluation
DESCRIPTION top
This manual page lists C operators and their precedence in
evaluation.
Operator Associativity
() [] -> . left to right
! ~ ++ -- + - (type) * & sizeof right to left
* / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right
& left to right
^ left to right
| left to right
&& left to right
|| left to right
?: right to left
= += -= *= /= %= <<= >>= &= ^= |= right to left
, left to right