• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

int g_x vs extern int g_x

19.04.25 12:53 작성 조회수 160

2

안녕하세요 교수님

마지막에 정리해주시는 부분에서..

아래와 같이 해주셨는데,

int g_x 와 extern int g_x 가 개념이 헷갈리네요.

extern 을 쓰면 다른 cpp 에 있는 변수를 가져다 쓸 수 있는것은 알겠는데, int g_x 라고 하는경우에는 어떻게 external linkage가 되는것인가요?

/*
* int g_x; //external linkage
* static int g_x; //internal linkage
* const int g_x; // X. needs to initialize it
*
* extern int g_z;
* extern const int g_z;
*
* int g_y(1);
* static int g_y(1);
* const int g_y(1);
*
* extern int g_w(1);
* extern const int g_w(1);
*/

답변 3

·

답변을 작성해보세요.

0

당연히 궁금하실만한 내용입니다. 지금 유튜브에 연재중인 C강의에서 곧 링키지를 자세히 다루는데 그때 보시면 도움이 될 것 같습니다. 당장 궁금하시다면 learncpp.com의 해당 강의(강의 숫자가 비슷합니다)도 참고하세요.

0

Jason Hong님의 프로필

Jason Hong

질문자

2019.04.27

답변 감사합니다.

 제가 이해가 부족한것 같은데, 좀 더 구체적으로 초기화 안된것이 어떤 영향을 미친것인지 알 수 있을까요?

강의 중에 제가 들은 것을 바탕으로는..

int g_x 와 extern int g_x  에서 extern은 생략할 수 있는 것같은데, 다른 cpp파일에도 int g_x가 있는 경우를 제외하고 어느경우에 꼭 extern을 써줘야 하는 것인가요?

0

안녕하세요? 초기화가 안된 전역변수라서 그렇습니다.