#include <stdio.h>
int g_i = 0;
void test();
int main(void)
{
test();
printf("%d\n", g_i++);
printf("%d", g_i++);
return 0;
}
void test() {
++g_i;
}
위의껀 잘 되지만 만약 이렇게 쓰면?
컴파일은 되지만 link 단계에서 오류가 뜸
#include <stdio.h>
int g_i = 0;
void test();
int main(void)
{
test();
printf("%d\n", g_i++);
printf("%d", g_i++);
return 0;
}
#pragma once // 파일 이름 func.h
// #pragma once는 여러번 include 되는 것을 막아준다고 함, 오...
int Add(int a, int b); // 함수의 동작코드는 구현 안하고 선언만 함
#include <stdio.h>
#include "func.h"
int g_i = 0;
void test();
int main(void)
{
test();
printf("%d\n", g_i++);
printf("%d\n", g_i++);
int test_value = Add(1, 2);
printf("%d\n", test_value);
return 0;
}
void test() {
++g_i;
}
int Add(int a, int b) {
return a + b;
}