함수 원형을 살펴보다가...
글쓴이: 이현우 / 작성시간: 일, 2004/02/22 - 10:57오후
1. /usr/include 에서 stdio.h에서 함수 원형을 살펴보다가...
함수명에 앞에 *가 붙어 있는 넘이있고
없는 놈이 있더군요... 차이점이 뭔지좀 설명 부탁드립니다.
(혹시 리턴형이 주소값이 리턴 가능하다는 뜻인지 ㅡ.ㅡ?)
파라미터에서 char *s에는 인자로 포인터를 받겠다는건 알겠는데요..
너무 기초적인 질문인가요..ㅡㅡ;
Quote:
(있는넘)extern char *cuserid (char *__s) __THROW;
(없는넘) extern int fileno_unlocked (FILE *__stream) __THROW;
2. 두번째로 *.h 파일들은 살펴보니까... 매크로등이 __ 언더바로 시작하는
넘들이 많던데, 특별한 이유가 있는것인지요? 함수 파라미터에서
컴파일러가 변수명은 신경안쓰고 , 타입이 중요해서 생략가능하다고
들었는데, 그것과 관계가있는것인지요? 흘...너무 초보적인 질문들인가요?
Quote:
# define __need_size_t
# define __need_NULL
extern char *tempnam (__const char *__dir, __const char *__pfx)
3. 함수원형 파라미터 선언에거 const *a 이렇게 안쓰고, __const char *__dir 이렇게 표현이 된건 다른데 정의가 따로 되어 있는건가요? 아니면 원래 그런지 궁금합니다. ^^
4. 끝으로 아무런 지시자 없이 __BEGIN_DECLS 이렇게 시작되는 넘들은 뭐하는 놈들인지요?
Quote:
-------------------------------------------------------------------------------
__BEGIN_NAMESPACE_STD
__END_NAMESPACE_STD
헤더파일 하나 구경하다가 궁금한게 너무 많이 생겼네요...^^
답변부탁합니다.
Forums:
1.리턴타잎이 포인터라는 얘기죠..2.__ 로 시작하는 놈
1.
리턴타잎이 포인터라는 얘기죠..
2.
__ 로 시작하는 놈들은 주로 내부에서 사용하는 용도이며, 사용자가 신경쓰지 않아도 되는 놈들입니다.
즉, 사용자가 따로 선언해주거나 그런 류의 것들의 존재 유무에 따라 프로그램하 않는 것들이지요.
3.
따라가면 header file 어딘가에 선언이 나올 것입니다.
C++ 와 호환을 위해서 만든것들이지요.
---
http://coolengineer.com
댓글 달기