`sizeof` C 함수의 매뉴얼 페이지는 어디에 있습니까?


10

sizeofC 함수에 대한 맨 페이지가없는 이유는 무엇입니까?

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

$ man sizeof
No manual entry for sizeof

내가 malloc실행 man 3 malloc하고 비슷한 명령을 사용하는 것과 같은 다른 C 함수에 대한 매뉴얼 페이지가 있지만 아무것도 없습니다 sizeof.


왜 C에 대한 리눅스 매뉴얼 페이지를보고 싶습니까? POSIX 관련 내용이 아니라면 표준 문서를 읽는 것이 좋습니다
phuclv

답변:


9

sizeof 는 함수가 아닙니다. 연산자입니다 : http://en.wikipedia.org/wiki/Sizeof


1
연산자는 매크로에 대한 또 다른 단어입니까? 연산자는 정확히 무엇을 의미합니까?
user1527227

1
매크로는 사전 컴파일러가 해석하여 컴파일 할 수있는 것으로 확장 된 일부 텍스트 (예약어, 연산자 또는 함수가 아님)입니다. 연산자는 함수처럼 보이지만 언어 자체의 일부입니다. 함수는 일반적으로 라이브러리의 일부입니다. 자세한 설명은 다음을 참조하십시오 : en.wikipedia.org/wiki/Operator_(computer_programming)
drk.com.ar

감사. 마지막 질문 : 이와 같은 운영자를위한 공식 문서가 있습니까?
user1527227

5
예. C 언어 사양 : open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf- 섹션 6.5.x
drk.com.ar

2

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.