sizeof não é uma função. é um operador: link
Como é que não existe uma página man para a função sizeof
C?
$ man 3 sizeof
No manual entry for sizeof in section 3
$ man sizeof
No manual entry for sizeof
Eu vejo man pages para outras funções C como malloc
se eu executar man 3 malloc
e comandos similares, mas nada para sizeof
.
sizeof não é uma função. é um operador: link
Você pode usar man -wK 'sizeof' | sort -u
para encontrar os artigos que contêm sizeof
, mas isso retornará muitos resultados. No entanto, observe que cada artigo sobre algo terá essa coisa como uma palavra de bar cercada por espaços, nós vamos procurar o artigo como este zgrep -P '\ssizeof\s' /usr/share/man/man3/*
. Mas procurar na seção 3 não fornece nenhuma informação útil, então eu vou procurar na seção 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
Como você pode ver, o sizeof
é mencionado na página de manual do operador, porque não é uma função, mas um operador e funciona mesmo sem parênteses para identificadores como sizeof buf
acima
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