[视频地址](https://www.bilibili.com/video/BV1FA411v7YW?share_source=copy_web “”视频地址””)
函数
- 导入系统函数用尖括号<>,自定义函数用双引号””””, 如:#include “”myfun.h””
- static修饰静态函数,只能在当前文件中使用
内存
- %p打印的是虚拟内存地址
虚拟内存的用户空间
- 堆:动态申请内存时,在堆里开辟内存
- 栈:主要存放局部变量
- 静态全局区:【未初始化的静态全局区】:存放未初始化的静态变量、全局变量;【初始化的静态全局区】: 放在全局变量、静态变量初始化后存
- 代码区:存放编写的代码
- 常量区:存放常量
变量
- 调用不同文件的全局变量需要先声明,但不需要赋值,如:extern int val;
- static修饰静态变量,静态局部变量只会初始化一次,函数执行完后不会释放内存,只能在当前文件中调用
宏
- 宏名字一般大写
- 带参宏,#define S(a,b) abb,宏定义只是简单替换,不考虑运算级别,可以添加括号保证运算顺序#define S(a,b) ((a)(b)(b))
带参宏和函数的区别在于
- 带参宏占用空间较大,运行较快
- 函数占用空间较小,运行较慢
- 函数的形参必须有类型名,带参宏形参不需要类型名
近期评论