搜索
写经验 领红包
 > 电器

c语言ifedif(c语言ifedif是做什么的)

1. 明示常量define为C语言的一个预处理指令,通常用于进行宏定义。每行define指令本身,第二部分为宏,第三部分为称为替换列表或替换体

预处理器在发现程序中的宏后,会用宏等价的替换体进行替换,如在上图中,LENGTH 将被替换为100。但值得注意的是双引号中的宏将不会进行替换。来看下面的一个例子:

输出的结果将是:

2. 在define中使用参数

在运算符

我们在前面提到双引号字符串中的宏不会被替换,那么如果我们想要在字符串中包含宏参数该如何做呢在类函数宏的替换体中,X将被转换为”X&X将被替换为,然后由于字符串的串联特性,将与和“is %d nThe square of X is %d n&undef指令用于”取消“已定义的undef指令取消该名字的定义

4. 条件编译

4.1 else和ifdef指令表示如果预处理器已定义了后面的标识符LENGTH_H,则执行endif指令之前的所有指令并编译C代码,如果预处理器未定义标识符LENGTH_H,且有else和else可以没有,但ifndef指令

ifdef指令的逻辑相反,ifndef指令也可以和endif一起使用

通常,包含多个头文件时,其他的文件可能包含相同的宏定义,ifndef指令激活定义,随后在其他头文件中的定义都被忽略

ifndef就可以避免重复,因为endif之间的其他部分在第二次时不会再处理

如何保证像STACK_H这样待测试的标识符没有在别处定义呢通常可以用用大写的文件名及下划线和大写的H做标识符,如STACK就是文件名stack的大写

(感兴趣的读者可以去看一下我在这篇文章中提的一个关于if和if指令和if很像,elif

如:

ifdef,即ifdef VAR

define搞混),如果它的参数是用elif一起使用

最后觉得这篇文章对你有帮助的读者给个点赞加关注吧!

免责声明:本文内容由互联网优秀作者用户自发贡献,本站仅提供存储空间服务,不拥有所有权,不承担相关法律责任。若有涉嫌抄袭侵权/违法违规的内容,请与我们取得联系举报,一经查实立刻删除内容。本文内容由快快网络小梓创作整理编辑!