黑马程序员___预处理指令

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.预处理指令指的是在代码翻译成0和1之前执行的操作
2.预处理指令都是以#开头的,它的位置可以随便写
3.预处理指令的作用域是从编写指令的开始,一直到文件结尾,但是遇到#undef可以取消宏定义的作用

一、宏定义

1.定义:#define kCount 4,宏名一般用大写或者用k开头,变量名一般用小写
2.运用场合:如果某个变量使用的频率特别高,我们就可以用宏定义,比如pi,圆周率,这样的好处是可以提高程序的性能,节约内存,因为宏定义是在代码翻译成0和1之前执行的,所以系统就不会分配空间
3.宏定义知识单纯的替换,不负责运算,带参数的宏定义效率要比函数高

二、条件编译

1.定义

#if (条件)
#elif(条件)
#endif

#ifdef A
#endif

#ifndef
#endif
这种定义一般用在头文件的开头,可以防止文件被#include多次,控制性能

2.条件编译一般是和宏定义一起使用的,它可以有选择的编译一段代码,有时候不满足条件的时候可以不用编译一段代码的时候就可以用条件编译,可以很大程度上提高程序的性能。

三、文件包含

1.关键字#include,一般用在文件的开头,表示如果要用到某个文件的时候就可以用#include,相当于一个拷贝的作用
2.如果是用到系统的文件就用#include<>,如果是用来自己编写的文件就用#include“”

时间: 2024-12-11 17:08:52

黑马程序员___预处理指令的相关文章

【黑马程序员】————预处理指令1-宏定义

预处理指令简介 1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译 2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号 3.预处理指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾.习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件 4.C语言提供的预处理指令主要有:宏

【黑马程序员】————预处理指令2-文件编译

条件编译的概念 在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译. 一.基本用法 1 #if 条件1 2 ...code1... 3 #elif 条件2 4 ...code2... 5 #else 6 ...code3... 7 #endif 1> 如果条件1成立,那么编译器就会把#if 与 #elif之间的code1代码编译进去(注意:是编译进去,不是执行,和平时用的if-else是不一样的)2> 如

《黑马程序员》预处理指令(宏定义、条件编译、文件包含)(C语言)

宏定义的基本概念 ●  预处理指令都是以#开头 ●  预处理指令分为三种 1.宏定义 定义格式:#define  宏名   参数 2.条件编译 #if 条件语句     statement1; #elif 条件语句     statement2; #else     statement3; #endif       //条件编译结束必须加上此条语句,否则statement3以下的所有语句都将默认为不编译 3.文件包含 ●  预处理指令在代码翻译成0和1之前进行 ●  预处理指令的位置是可以写的

黑马程序员___多线程小结

----------- android培训.java培训.java学习型技术博客.期待与您交流! --------- 进程和线程 进程是正在进行中的程序,指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以有多个线程. Java程序的进程里有几个线程:主线程, 垃圾回收线程(后台线程) 线程是指进程中的一个执行任务(控制单元),一个进程中可以运行多个线程,多个线程可共享数据.多线程:在同一个进程中同时运行的多个任务;一个进程至少有一个线程,为了提高效率,可以在一个进程中

黑马程序员___银行调度业务系统

----------- android培训.java培训.java学习型技术博客.期待与您交流! --------- 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户  =  1 :6 :3. 客户办理业务所需时间有最大

黑马程序员___交通灯管理系统

----------- android培训.java培训.java学习型技术博客.期待与您交流! --------- 交通灯管理系统的项目需求 异步随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 ... 信号灯忽略黄灯,只考虑红灯和绿灯. 应考虑左转车辆控制信号灯,右转车辆不受信号灯控制. 具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制

黑马程序员___类和对象

类和对象 面向对象 面向对象的思想就是关注解决的问题需要哪些对象,然后直接用对象的方法解决问题,C语言是面向过程的语言,面向过程关注的时解决问题需要哪些步骤 生活中面向对象的例子 ¬ 想打电话\发短信  找手机,不用分析电话要怎样才能拨通 ¬ 去饭店吃饭  找服务员,不用分析怎么到厨房炒菜 ¬ 汽车坏了  找汽车维修工,不用分析修车的步骤 ¬ 境界:万物皆对象 常用术语 ¬ 面向过程 Procedure Oriented ¬ 面向对象 Object Oriented,简称OO ¬ 面向对象编程

黑马程序员___数据类型总结

数据类型总结 一.基本数据类型 1.int(整型) 1>long int 长整型,也可以简写成long,  占据8个字节,占位符用%ld 2>short int 小的整型,也可以简写成short,占据2个字节,占位符用%d或%i 3> unsigned int 表示没有符号的整型,0和正整数,也可以写成unsigned,占据4个字节,占位符用%zd 4>signed int 有符号的整型,也可以简写成signed,占据4个字节,占位符用%d或 %i 2.float/double 1

黑马程序员___常用英语单词汇总

property   性质,性能 synthesize   合成,综合 prefix   前缀,加掐最 package   包 interact   相互作用 summary    摘要 description   描述 definition   定义 indent   缩进 category   分类 load   加载 initialize   初始化 perform   执行,机器运转 character   字符 deallocate   解除分配 alloc   分配 instance