/************************************************************************/
/* hello.h */
/************************************************************************/
#ifndef _HELLO_H_
#define _HELLO_H_
#define MAX_FILE_LEN 100
int MaxValue(int x, int y);
int MinValue(int x, int y);
#endif
/* hello.h */
/************************************************************************/
#ifndef _HELLO_H_
#define _HELLO_H_
#define MAX_FILE_LEN 100
int MaxValue(int x, int y);
int MinValue(int x, int y);
#endif
/************************************************************************/
/* hello.c */
/************************************************************************/
#include "hello.h"
int MaxValue(int x, int y)
{
return x > y ? x : y;
}
int MinValue(int x, int y)
{
return x > y ? y : x;
}
/* hello.c */
/************************************************************************/
#include "hello.h"
int MaxValue(int x, int y)
{
return x > y ? x : y;
}
int MinValue(int x, int y)
{
return x > y ? y : x;
}
/************************************************************************/
/* main.c */
/************************************************************************/
#include <stdio.h>
extern int MaxValue(int x, int y);
extern int MinValue(int x, int y);
int main(void)
{
printf("The max of (2, 3) is: %d\n", MaxValue(2, 3));
printf("The min of (2, 3) is: %d\n", MinValue(2, 3));
getchar();
return 0;
}
/* main.c */
/************************************************************************/
#include <stdio.h>
extern int MaxValue(int x, int y);
extern int MinValue(int x, int y);
int main(void)
{
printf("The max of (2, 3) is: %d\n", MaxValue(2, 3));
printf("The min of (2, 3) is: %d\n", MinValue(2, 3));
getchar();
return 0;
}
定义与声明:
(1)定义只能有一次,声明可以有多次
(2)函数在默认情况下是整个程序可见的,对于函数的定义和声明,编译器实际上在前面加了extern,再手动加extern关键字没有必要
(3)怎样声明而不定义一个变量?即extern int var;
【参考】
理解C语言中的extern关键字:http://www.geeksforgeeks.org/archives/840