c语言头文件,这句话的意思

来源:百度知道 编辑:UC知道 时间:2024/06/19 08:15:02
#ifndef _STDIO_H_
#define _STDIO_H_
一般都是#define max 100

定义max为100

这里的#define _STDIO_H_ 怎么后面什么也没有??

标号是在程序中标定位置使用的,这里呢???

label:

printf("hello, world!\n");

goto label;

这个是编译预处理,不是真正的为了定义什么,而是为了避免重复定义某些内容。

比如
#ifndef _STDIO_H_
#define _STDIO_H_

这里是要保护的内容

#enif
如果是第一次包含这个文件的时候_STDIO_H_是未定义的,所以后面的内容会被展开,而第二次包含这个文件的时候因为_STDIO_H_已经被定义过了,所以后面的内容就会被跳过,不会被展开。
这样当你重复的包含这个文件的时候,被保护的内容只会被展开一次,这样就防止的重复定义。

如果没定义 _STDIO_H_ 标号
那么就定义 _STDIO_H_ 标号
一般是避免重复定义
是预处理 一般定义一个标号为真
#define aaa
#ifdefine aaa //为真

#ifndef aaa//为假

当然也可以这样
#define aaa 1
#ifdefine aaa //为真