재바기
JaeTech
재바기
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • Computer Vision (2)
    • 선형대수학 (9)
    • Papers (1)
    • 알쓸신잡 (7)
    • 삽질 기록 (0)
    • 3D\Multiview Geometry (10)
      • CS231A (10)
    • Computer Science (46)
      • Algorithm (14)
      • JavaScript (3)
      • C || C++ (5)
      • Git || Github (3)
      • Linux (2)
      • DL || ML (5)
      • Operating System (8)
      • Computer Network (0)
      • Database (1)
      • Effective Python (5)
      • Data Communication (0)
    • 회고 (0)
    • Latex (1)

블로그 메뉴

  • 홈
  • 태그

Github

공지사항

  • 주인장에 대해

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
재바기

JaeTech

Computer Science/C || C++

전역변수 앞에서의 extern 과 static

2021. 2. 7. 11:16
728x90

1) 전역변수 앞에서의 extern 변수

 

다른 c 혹은 c++ 파일과의 링킹을 할 때 종종 사용되곤 한다.

// main.c

#include <stdio.h>

extern void f();
extern int g_value;

int main(void)
{
    printf("%d\n", g_value);
    
    return 0;
}

위는 main.c 이다.

 

// sub.c

#include <stdio.h>

int g_value;

void f()
{
    g_value = 1;
}

위는 sub.c 이다.

 

이와 같이 main.c에서 extern int g_value; 와 같이 선언을 해주었는데 sub.c 에서 즉 외부변수를 가져와 사용하겠다는 것이다. 이때 main.c 에서 extern int g_value; 라고 하지 않고 그냥 int g_value; 라고 해도 무방하다.(기본적으로 extern 이 생략되었다고 간주)

 

2) 전역변수 앞에서의 static

static을 전역변수 앞에서 사용하게 되면 그 사용범위를 해당 파일 안으로 제한하는 효과를 가지고 있다.

 

 

// 피드백 언제든지 감사하게 받겠습니다.

728x90

'Computer Science > C || C++' 카테고리의 다른 글

(C++) 참조 변수  (1) 2021.03.02
(C++) 열거형(enumerated types)  (0) 2021.02.07
헤더가드의 필요성  (0) 2021.01.27
첫 발걸음  (0) 2021.01.25
    'Computer Science/C || C++' 카테고리의 다른 글
    • (C++) 참조 변수
    • (C++) 열거형(enumerated types)
    • 헤더가드의 필요성
    • 첫 발걸음
    재바기
    재바기
    재박이의 테크블로그

    티스토리툴바