web-dev-qa-db-ja.com

`sizeof` C関数のmanページはどこにありますか?

sizeof C関数のmanページがないのはなぜですか?

$ man 3 sizeof
No manual entry for sizeof in section 3

$ man sizeof
No manual entry for sizeof

man 3 mallocおよび同様のコマンドを実行すると、mallocなどの他のC関数のマニュアルページは表示されますが、sizeofについては何も表示されません。

10
user1527227

sizeofは関数ではありません。それは演算子です: http://en.wikipedia.org/wiki/Sizeof

9
drk.com.ar

man -wK 'sizeof' | sort -uを使用して、sizeofを含む記事を検索できますが、これにより多くの結果が返されます。ただし、何かに関するすべての記事には、スペースで囲まれた裸語としてそのものが含まれることに注意してください。このような記事を検索しますzgrep -P '\ssizeof\s' /usr/share/man/man3/*。しかし、セクション3で検索しても有用な情報は得られないため、セクション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

ご覧のとおり、sizeofは演算子のマニュアルページに記載されています。これは、 関数ではなく演算子 であり、上記のsizeof bufのような識別子の括弧がなくても機能します。

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

http://man7.org/linux/man-pages/man7/operator.7.html

2
phuclv