C언어 - 정적 변수의 외부연결 (external linkage), 내부연결 (internal linkage)
2020. 11. 13. 14:35ㆍ개인공부/C언어
외부연결
번역단위(translation unit) : 대부분의 경우 파일. (c 파일)
컴파일러가 컴파일 할때는 c파일 단위로 한다. 따로 obj파일을 만들고 실행파일을 만들기 전에
각 obj를 linking 한다. 변수말고도 함수도 연결해준다.
int g_int;
int main(){
extern int g_int; // 파일안에 main()함수 밖의 g_int를 쓴다. // 내부변수로 인식안함
//extern int_int = 1024; //block scope 에러
//int g_int =123; // 밖의 global변수 g_int를 가려버려 지역변수 g_int를 쓴다.
return 0;
}
extern으로 외부 변수를 불러올때 자료형을 붙여주지 않아도 된다. 이미 선언될때 자료형까지 다 붙어서 선언 되었기때문.
내부 연결
출처 : 홍정모의 따라배우는 C언어
'개인공부 > C언어' 카테고리의 다른 글
C언어 - 메모리 누수와 free()의 중요성 (0) | 2020.11.13 |
---|---|
C언어 - 메모리 동적 할당!! (Dynamic Storage Allocation) (0) | 2020.11.13 |
C언어 - 블록 영역의 정적변수 (0) | 2020.11.13 |
C언어 - 저장공간의 다섯가지 분류 , 자동변수, 레지스터 변수 (0) | 2020.11.13 |
C언어 - 변수의 영역과 연결 상태, 객체의 지속 기간 (0) | 2020.11.13 |