조건부 컴파일을 활용해서 중복삽입 해결한거에서 공들인 질문이 있습니다.
봄시내
우선 클릭해주신 것에 대해 무한한 감사를 드립니다.
이런 말이 있습니다.
컴파일러는 파일 단위로 컴파일을 진행합니다.
곧,
typedef struct div
{
int quotient; // 몫
int remainder; // 나머지
} Div;
Div IntDiv(int num1, int num2)
{
Div dval;
dval.quotient=num1/num2;
dval.remainder=num1%num2;
return dval;
}
#include stdio.h
typedef struct div
{
int quotient; // 몫
int remainder; // 나머지
} Div;
extern Div IntDiv(int num1, int num2);
int main(void)
{
Div val=IntDiv(5, 2);
printf(몫: %d \n, val.quotient);
printf(나머지: %d \n, val.remainder);
return 0;
}
이것처럼 구조체 Div의 선언 및 정의가 두 번씩 정의가 되어도 상관이 없습니다.
이 상식을 갖고, 질문을 시작하려고 합니다. (칙칙 폭폭 - 질문의 세계로)
위 코드를 실행하면 정말 잘 실행이 됩니다. 문제가 없는 것이지요. 그리고 중복선언을 피하기 위해 잘해결한 예제를 더군다나 보여준 것입니다.근데 제 질문의 중추는 왜 문제가 없냐는건데요. (보는 사람 : 뭔소리여 ㅋ 보여봐라 에헴..)
그러면 현재 구조체 Div가 선언된거죠. +.+
여기까진 좋아요.
그 안을 보도록 하겠습니다. (뭐... 위에 있었습니다만)도와주세요!
-
동생몬
곧,, 파일 단위란건 h를 의미하는게 아니군요.
.c였군요
감사해요~ -
훌림목
컴파일러는 파일 단위로 컴파일을 진행합니다라는 말을 꼭 잊지 마시고, 답변 부탁드립니다.