새소식

Programming

[C] 배열을 선언과 정의를 다른 파일에서 사용할 때

  • -

기록용으로 남깁니다.


이 부분 처리를 제대로 안해서 "multiple definition of"라는 오류와 씨름을 하게 되었습니다.

여기 저기 글 보면서 원래 쓰는 곳에 extern도 넣어봤다가 개념을 모르고 해답(solution)만 찾으니 제대로 되지 않더군요..

어짜피 선언 및 정의(값 지정)는 반드시 한 번씩 해야하니까 선언문과 정의문만 제대로 쓰면 오류가 나지 않습니다.


선언을 포함할 헤더(.h)에 다음과 같은 형태로 추가합니다.

extern unsigned int var[MAX];


실제로 사용 또는 처음 정의할 곳(.c)에 다음과 같은 형태로 추가합니다.

unsigned int var[MAX] = { 1, 2, 3, 4, 5 };


참고: http://stackoverflow.com/questions/4391467/declare-array-in-c-header-and-define-it-in-cpp-file

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.