当前位置:网站首页 > 技术博客 > 正文

c语言if(!f)函数的使用方法?



最近由于项目原因需要用到C语言,记录一下看代码时遇到的问题以及知识盲区。

 

防止头文件的重复包含和编译

 C语言编译系统包括预处理,编译和链接等部分。C语言在对程序进行编译时,会先根据预处理命令进行“预处理”。

#ifndef 预处理命令(宏定义、文件包含、条件编译)中的“条件编译”。

  #ifndef x      //先测试x是否被宏定义过

  #define x     //如果没有宏定义下面就宏定义x并编译下面的语句

  ...

  #endif          //如果已经定义了则编译#endif后面的语句

条件指示符#ifndef检查预编译常量在前面是否已经被宏定义。如果在前面没有被宏定义,则条件指示符的值为真,于是从#ifndef到#endif之间的所有语句都被包含进来进行编译处理。

相反,如果#ifndef指示符的值为假,则说明他在前面已经被宏定义过,它与#endif指示符之间的行将被忽略。条件指示符#ifndef 的最主要目的是防止头文件的重复包含和编译。

如果一个项目里有两个.c文件(A/B)同时include了同一个头文件(H),而编译时,这两个.c文件要一同编译成一个可运行文件,在文件A中include了头文件H,在文件B中再次include头文件的话,会产生声明冲突。而将头文件内容放到#ifndef  #endif  中,会在include之前判断该头文件是否已经被include过,避免重复引用。

参考链接

版权声明


相关文章:

  • 驼峰命名什么意思2024-12-21 08:00:59
  • geohash java2024-12-21 08:00:59
  • microsoft edge快捷键编辑2024-12-21 08:00:59
  • 壁仞科技怎么样知乎2024-12-21 08:00:59
  • linux更改进程名字2024-12-21 08:00:59
  • devc编写c程序怎么运行2024-12-21 08:00:59
  • spi总线协议及spi时序图详解2024-12-21 08:00:59
  • xml转换器2024-12-21 08:00:59
  • 王码五笔输入法86版的字根全面吗?2024-12-21 08:00:59
  • html登陆页面密码加密2024-12-21 08:00:59