[求助]#ifdef和#difine请教
/*---------------main.h----------------*/
#if !(defined MAIN_H)
#include <iostream>
using namespace std;
extern int a;
void print();
#define MAIN_H
#endif
请教一下头文件中#if !(defined MAIN_H) 是否等于#ifndif(MAIN_H),在这里这句话式什么意思啊,有什么作用啊,还有#define MAIN_H在这儿是什么意思啊,有什么作用啊。