typedf
类型定义,类型的重命名
其实就是起名字,很好理解,注意书写方法
static,静态
第一,修饰静态局部变量
本来test中a是局部变量,出了大括号是要直接被销毁的,通过static保住了这个应被销毁的a,让它能够一直存在
静态变量是程序被销户,它才被销毁(上述的改变存储位置为:若是局部变量一开始就放在栈区;而用static一开始就会存在静态区)
补充之前学习的笔记:
void,
一般函数都会返回return一个值或者其他,若不想让函数返回值,就可以使用void这个关键词
第二,static修饰全局变量
extern 引用外部变量
换句话说,static修饰之后,全局变量的作用域变小了
第三,static修饰函数
将函数和程序分别放到两个不同的文件中,运行会警告,但其实还能运行
再加上extern去声明有外部函数,程序就不会警告
但如果再加上static,就会报错,原理和上面全局变量差不多
register:寄存器
一开始cpu连接内存,但科技发展太快,CPU性能日新月异,但是内存跟不上它的速度,就浪费了CPU的性能,于是就思考能不能用一个小一点但是很快的存储器直接跟CPU互动充分显现其性能呢?寄存器就出来了,于是内存到高速缓存,再高速缓存再到寄存器,一级一级上下交互就成了现在这样。
注意:这也只是建议,最后到底放不放进去,编译器说了算
define定义常量和宏
这样num是满足要求的,此处是常量
那么什么是宏呢?
函数传参数,宏是直接替换x,y的位置,