C语言环境处理收尾

一. 命名约定

一般来讲 函数和宏的用法十分相似所以语言没办法帮我们区分二者。
拿我们平时的一个习惯是:

将宏名全部大写
函数名不要全部大写

二. #undef 

当我们下面不想再用一个宏的时候我们可以使用这个符号
这样我们下面就无法使用宏了

举个例子

 使用了这个#undef之后 我们就不能再使用Max了

三. 条件编译

直接上代码

#define PRINT 1
int main()
{
#ifdef PRINT
	printf("hehe\n");
#endif
	return 0;
}
调试性的代码,删除可惜,保留又碍事,所以我们可以选择性的编译。
常见的条件编译指令有
1.
#if 常量表达式
 //...
#endif
//常量表达式由预处理器求值。
如:
#define __DEBUG__ 1
#if __DEBUG__
 //..
#endif
2.多个分支的条件编译
#if 常量表达式
 //...
#elif 常量表达式
 //...
#else
 //...
#endif
3.判断是否被定义
#if defined(symbol)
#ifdef symbol
#if !defined(symbol)
#ifndef symbol
4.嵌套指令
#if defined(OS_UNIX)
 #ifdef OPTION1
 unix_version_option1();
 #endif
 #ifdef OPTION2
 unix_version_option2();
 #endif
#elif defined(OS_MSDOS)
 #ifdef OPTION2
 msdos_version_option2();
 #endif
#endif

多分支

判断是否定义

四. 文件包含

4.1 查找策略

查找策略:先在源文件所在目录下查找,如果该头文件未找到,编译器就像查找库函数头文件一样在标准位置查找头文件。如果找不到就提示编译错误。

4.2 文件的嵌套包含

所以说我们可以写出以下代码

当我们写出这些代码的时候 头文件就会只会被引用一次

当然使用#pragma once的效果也是一样的

以上便是本文所有内容,如有错误请各位大佬不吝赐教,感谢留言

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值