函数一些小技巧:
- 如果函数的形参是基本类型(如:int float double char)那么在函数内部中修改形参的值不会影响到外部实参的值
- 如果形参类型是指针(或数组)作为函数参数传递那么在函数内部中修改形参的值会直瘦长影响到外部实参的值
- 因为指针和数组是以地址的方式传递的
- 想要在形参中修改实参的值,只能用地址传递
- 指针在64位占8个字节
屏幕快照 2017-04-30 13.23.37.png
屏幕快照 2017-04-30 13.57.46.png
屏幕快照 2017-04-30 16.21.03.png
在64位系统指针占8个,在32位系统占4个
指针与数组:
数组的首元素就是数组的地址,所以定义一个指针指向数组其实就是定义一个指针指向数组的首元素,所以数组的首元素是什么类型,那么指向数组的指针就是什么类型
如果用指针类型去加1,不等会变量加1。
变量:
- int num = 5;
- num = num + 1;
指针: - 指针加1,其实是加上指针类型所占用的长度,如果当前指针类型是int ,那个+1的本质是加上4个字节;
屏幕快照 2017-04-30 18.33.27.png
屏幕快照 2017-04-30 18.43.32.png
屏幕快照 2017-05-01 11.29.59.png
指向函数的指针
有返回值没有参数练习
没有返回值有参数练习
有返回值有参数练习
结构体
如何定义一个结构体
屏幕快照 2017-05-02 23.21.32.png
结构体和函数
结构体之间赋值是值传递,相当于拷贝
可以用指针修改他们的值
枚举
局部变量
全局变量
全局变量两种:外部全局变量和内部会局变量
全局变量的注意点
static方法.png
屏幕快照 2017-05-04 19.27.22.png
不带参数的宏定义.png
带参数的宏.png
typedef的作用:起别名.png
用typedef结构体起别名.png
用typedef给枚举起别名.png
用sypedef给指针起别名.png
用sypedef给指向函数的指针起别名.png
条件编译:和if很像
const修饰词:用在指针的方法
屏幕快照 2017-05-07 16.57.38.png