四、内存问题
1、malloc申请空间:申请空间后会分配,按照int类型所需要的去处理。Int* /4 ;int arr[] /10
2、free: 所指向的区域进行回收
当变量/数组等指向发生变化时,原指向的区域在低级语言中一直被占着,无法释放,造成内存泄露。高级语言JAVA会自动回收该区域。
3、内存泄露:内存30G,只有20G能用,那10G一直无法利用。
解决办法:重启程序。原理:进程是独立运行的程序,当程序运行时,会独占一块内存,你在这个内存上做啥都行,use or waste。当关闭该程序后,操作系统会回收那块内存。
五、small tips:
1、申请空间的原理:申请空间后标记为有效
删除的原理:挪动边界,标记为无效
回收站:只是将数据标记为无效,如果你想,可以采取方法恢复。守法呀!!!
2、无论是结构体还是malloc,申请空间后会有一个随机数。但是在方法里声明变量,其默认值为null(指针)/0(变量)。
3、结构体类型的指针所指向的区域:写法 d1->x1 = 867;
结构体类型的非指针相等和int相等无区别
4、作为方法的入参出现&,那么就是C++语法
5、Char 类型数组,结尾为‘\0’。回车给当字符了。