[C] ()와 (void)의 차이

언어/C 2018. 12. 30. 21:09

C에서는 어떤 경우에도 우직하게, 위에서 아래로만 인식을 합니다.

그래서 위에서 아래에 있는 함수를 갖다 쓰려면 애가 찾질 못하죠.

그래서 전방선언-프로토타입이란걸 위에다 붙여줍니다. 보통 헤더에 분리해서 넣어주죠.

이렇게요.


자 근데. 선언부의 파라미터를 전부 지우면 어떨까요?
시그너처가 다르니 에러가 날까요?

한번 봅시다.

잘 됩니다. 

선언부에서의 빈 ()는 이건 뭐든 들어갈수 있어! 라는 뜻이기 때문이죠.

"이건 파라미터를 안 받아!"라는 의미를 부여하려면 void를 명시해줍니다.

이제 (void)라고 확실히 명시가 됐으니, 아래에 있는 정의부와 일치하지 않아서 에러가 납니다.



설정

트랙백

댓글