黑马程序员---C语言预处理
来源:互联网 发布:彩票平台源码 编辑:程序博客网 时间:2024/04/26 20:14
———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
1.所有的预处理指令都是以#开头
2.预处理指令分3种
1> 宏定义
2> 条件编译
3> 文件包含
3.预处理指令在代码翻译成0和1之前执行
4.预处理的位置是随便写的
5.预处理指令的作用域:从编写指令的那一行开始,一直到文件结尾,
宏定义
#define 宏名值 宏名一般用大写或者以k开头,变量名一般用小写,可以用#undef取消宏定义的作用
#undef COUNT // 从这行开始,COUNT这个宏就失效
带参数的宏效率比较高(替换代码,注意每个参数都要加括号)
#define sum(v1, v2) ((v1)+(v2))
#define pingfang(a) ((a)*(a))
1.<>表示系统自带的文件,""表示自定义的文件
2.不允许循环包含,比如a.h包含b.h,b.h又包含a.h
static和extern
外部函数:定义的函数能被本文件和其他文件访问
1> 默认情况下所有函数都是外部函数
2> 不允许有同名的外部函数
内部函数:定义的函数只能被本文件访问,其他文件不能访问
1> 允许不同文件中有同名的内部函数
static和extern对函数的作用: static对函数的作用: 1> 定义一个内部函数 2> 声明一个内部函数 extern对函数的作用: 1> 完整地定义一个外部函数 2> 完整地声明一个外部函数 (extern可以省略,默认情况下声明和定义的函数都是外部函数)
static和extern对变量的作用:
static对变量的作用:
定义一个内部变量
extern对变量的作用:
声明一个外部变量
static修饰局部变量的使用场合:
1.如果某个函数的调用频率特别高
2.这个函数内部的某个变量值是固定不变的
static修饰局部变量:
1> 延长局部变量的生命周期:程序结束的时候,局部变量才会被销毁
2> 并没有改变局部变量的作用域
3> 所有的test函数都共享着一个变量b
全局变量分2种:
外部变量:定义的变量能被本文件和其他文件访问
1> 默认情况下,所有的全局变量都是外部变量
2> 不同文件中的同名外部变量,都代表着同一个变量
内部变量:定义的变量只能被本文件访问,不能被其他文件访问
1> 不同文件中的同名内部变量,互不影响
- 黑马程序员-C语言预处理
- 黑马程序员---C语言预处理
- 黑马程序员 C语言------预处理指令学习
- 15、黑马程序员-C语言预处理指令
- [黑马程序员][C语言]预处理指令
- 黑马程序员---【C语言】06预处理命令
- 黑马程序员----C语言预处理篇
- 黑马程序员-C语言基础知识-预处理
- 黑马程序员-----------C语言基础-----------预处理指令
- 黑马程序员—C语言_预处理指令
- 黑马程序员-IOS-C语言预处理指令及杂项小计
- 黑马程序员——C语言之预处理命令
- 黑马程序员 C语言 - 09 预处理指令、typedef、extern、static
- 黑马程序员—C语言—预处理指令
- 黑马程序员-C语言的预处理指令总结
- 黑马程序员_iOS开发C语言基础之预处理命令
- 黑马程序员——5、C语言(预处理指令)
- 黑马程序员—C语言—预处理指令及补充
- SOJ--Zig-Zag
- u-boot-2014.10移植第5天----LED、button和beep裸机程序
- 创建站点自助服务(Self-Service Site Creation)
- JFreeChart 使用一 直方图之简单柱状图
- springmvc基本配置及相关源码解读
- 黑马程序员---C语言预处理
- boost::asio started guide 翻译1
- PAT 1007. Maximum Subsequence Sum (25)
- Leetcode: Find Minimum in Rotated Sorted Array II
- JFreeChart 使用 一 直方图之柱状图-高级特性
- 为什么Android与PC平台按照opengl坐标贴纹理会出现颠倒
- 第九周项目4
- 外文文献查询网站
- 《编写高质量代码:改善Java程序的151个建议》 建议9