头文件里经常出现的这种语句是什么意思比如说我的头文件叫stdint.h,那么在开头就会有这一句话#ifndef __STDINT_H_#define __STDINT_H_

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 10:04:56

头文件里经常出现的这种语句是什么意思比如说我的头文件叫stdint.h,那么在开头就会有这一句话#ifndef __STDINT_H_#define __STDINT_H_
头文件里经常出现的这种语句是什么意思
比如说我的头文件叫stdint.h,那么在开头就会有这一句话
#ifndef __STDINT_H_
#define __STDINT_H_

头文件里经常出现的这种语句是什么意思比如说我的头文件叫stdint.h,那么在开头就会有这一句话#ifndef __STDINT_H_#define __STDINT_H_
第一句:如果没有 定义过 __STDINT_H_ 就接着执行下面的内容.否则跳过下面所有的内容.
第二句,只有当没有定义过__STDINT_H_才会执行.这句就会定义__STDINT_H_.这就意味着:从此以后,这个stdint.h 再也不会执行了(只会执行这一遍).
这样做是为了方便以后的编程,任何源程序都可以在前面加入
#include
而不用担心次序和有多少文件加入了这个头.因为:只会有一个文件将这个头文件执行一遍,剩下的都会直接跳过去.(如果没有这两个命令,重复执行头文件编译的时候就会有错误!无法通过!)
对了,后面还要有 #endif,跟前面的#ifdef对应的.
看到楼上没回答你的追问,我回答一下:
1,__STDINT_H_ 后面没有东西,就是说只声明定义了这个宏,但没有给它任何的内容.因为前面一句只要判断是否定义,而不用看它的内容.当然,你想加上任何的内容都可以,完全不影响.
2,__STDINT_H_ 这么写完全是习惯.很多人还喜欢写成 __STDINT_H__ 或者STDINT_H.