markyang92.log
로그인
markyang92.log
로그인
C - 함수, extern, static 함수
markyang92
·
2024년 3월 11일
팔로우
0
0
C
목록 보기
3/10
C의 함수
모두
전역(global)
함수
기본적으로 어디에서나 호출 가능
물론 제한할 수 있는 키워드가 있다.
함수 오버로딩 없다.
선언
위 코드에서 에러가 발생한다.
ANSI C(C89)에서 함수 정의가 등장하기 전에 함수를 호출하면 컴파일러가 다음과 같이 가정한다.
반환형
int
그 매개변수는 아무거나 올 수 있음
따라서, 나중에 컴파일러가
int
가 아닌 다른 것을 반환하는 함수를 찾으면 컴파일 오류
전방 선언의 작동원리
컴파일 단계에서는
main
의
foo()
에
구멍
을 둔다.
링크 단계에서,
foo()
함수 구현이 어디에 있다고
구멍
을 메꿔준다.
함수 매개변수
함수 선언의 매개변수 목록에 있는 것은 그 목록 안에서 접근가능
extern 함수, static 함수
extern 변수의 내용은
링크
참고
extern 함수는 따라서 의미 없음
static
함수
는 static 변수와 마찬가지로, 내 파일에서만 함수를 사용할 것
다른 파일에서 함수 전방 선언해도 못씀
static
을 붙이지 않으면, 당연히 빌드 성공
static
함수해버리면 다른 파일에서는
링킹에러
markyang92
pllpokko@alumni.kaist.ac.kr
팔로우
이전 포스트
C - 컴파일 옵션, 빌드
다음 포스트
C - 변수, 자료형, 메모리, 전역변수, extern, static, 배열
0개의 댓글
댓글 작성