C语言中#if的使用
#if定义
#if和#endif是一组同时使用的,叫做条件编译指令。#if与#define、#include等指令一样是由预处理器这个强大的工具处理的,预处理器可以在编译前处理c程序。
#if使用
#if的后面接的是表达式
#if (MAX == 10)||(MAX == 20)code...
#endif
它的作用是:如果(MAX == 10)|| (MAX == 20)
成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去(注意:是编译进去,不是执行!!)
#if defined的使用
#if后面接的是一个宏。
#if defined (x)...code...
#endif
这个#if defined它不管里面的“x”的逻辑是“真”还是“假”它只管这个程序的前面的宏定义里面有没有定义“x”这个宏,如果定义了x这个宏,那么,编译器会编译中间的…code…否则不直接忽视中间的…code…代码。
另外 #if defined(x)也可以取反,也就用 #if !defined(x)
ifdef的使用
#ifdef的使用和#if defined()的用法一致
#ifndef又和#if !defined()的用法一致。
结尾
最后强调两点:
第一:这几个宏定义只是决定代码块是否被编译!
第二:别忘了#endif
C语言中#if的使用相关推荐
- c语言中struct和c++中class实例对比
前言 实现游戏中简单的打怪升级的功能 c语言中的struct #include <stdio.h>typedef void(*Train)(struct player*, int); ty ...
- 关于C语言中printf函数“输出歧视”的问题
目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...
- C语言中“野指针”、“悬空指针”是什么?
目录 1."野指针"(wild pointer) 2."悬空指针"(dangling pointer) 1."野指针"(wild point ...
- c+语言+null,C/C++语言中NULL、'\0’和0的区别
NULL.'\0'和0的值是一样的,都是0,不过它们的表现形式不一样: 1. NULL: 即空指针,不过在C和C++中并不一样.在VS 2013的库文件string.h中可以看到如果定义. 1 /* ...
- 关于C语言中的malloc和free函数的用法
一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...
- python global函数_如何使用python语言中的global关键字获取函数值
在python语言中,如果在函数外层定义了一个全局变量a,函数内部又有一个同名的局部变量,想要这个全局变量的值改成为局部变量的值,可以使用global.下面利用一个实例说明如何实现这个场景,操作如下: ...
- c语言中的if语句_If ... C中的其他语句解释
c语言中的if语句 Conditional code flow is the ability to change the way a piece of code behaves based on ce ...
- C 语言中 void* 详解及应用介绍
void 在英文中作为名词的解释为 "空虚.空间.空隙",而在 C 语言中,void 被翻译为"无类型",相应的void * 为"无类型指针" ...
- java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...
[判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...
- 8位alu运算器(vhdl语言)_C语言中signed char类型,能表示-128到127,为什么负数多一位?...
初学者在学习C语言,谈到不同数据类型时,一般都能理解 unsigned 和 signed 的区别,无非就是有无符号而已.但是对于 signed 数据类型的数据范围,初学者却常常会感到迷惑. 对于 si ...
最新文章
- 公司inur php id_,PHP——个人信息管理系统
- [云炬学英语]每日一句2020.9.3
- C++性能优化-字符串的优化
- 关于MYSQL 的 AUTO-INC Locks
- hibernate中的id特殊属性hilo剖解(多用于继承关系)
- 【POI2011】LIZ-Lollipop 【构造】
- Uber提出有创造力的POET:自行开发更困难环境和解决方案
- 开发了一款chrome扩展程序
- 关于RUP的一点见解,针对于近期的面向对象方法课程
- python绘制单线图_教你快速利用CAD绘制管道单线图.pdf
- 电脑硬件基础知识科普
- 大数据开发超高频面试题!大厂面试必看!包含Hadoop、zookeeper、Hive、flume、kafka、Hbase、flink、spark、数仓等
- Pycharm设置快捷键放大缩小字体
- 提升社群转化率?3大步骤、6大技巧详解
- JDK8与JDK9新特性学习
- 操作系统存储器管理管理试验
- 用for循环打印乘法口诀表
- 虚拟机无法启动提示give root password for maintenance的多种解决方法
- AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第2章:FLOW CONTROL
- 我眼中的博客MVB与投票 1
热门文章
- ECCV2020 | 论文阅读——Arbitrary-Oriented Object Detection with Circular Smooth Label
- 《Python语言程序设计》王恺 王志 李涛 机械工业出版社第7章 I/O编程与异常 课后习题答案【强烈推荐】
- matplotlib绘制电子鼻传感响应曲线
- 专门为u盘设计的linux系统
- 开到370多家线下门店后,特斯拉掉头主攻线上是好事吗?...
- 狂风暴雨——雨过天晴篇:数据流层Namsara发布
- 景甜种甜、雨昕助攻,聚划算垂类借势攻擂
- wps论文参考文献变动时自动更新
- 7-3 表达式求值_1 (20分) 简单代码
- 支付宝开发 ——第三方支付