/*
**********************************************************************
*/
/* 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