Day 11
Makefile工程文件的编写还要注意
2.
typedef和 和define 还是有区别的 区别在于typedef是完全给数据类型换了个名字,功能是完全继承的 而define只是把某个数据类型变成了某几个字母
#define IP int *
IP p,q int *p,q;
typedef int *IP;
IP p,q int *p,*q;
typedef int FUNC(int);
-----> int(int) FUNC;
FUNC f; -----> int f(int);
所以就是把定义后使用的内容替换到前边的位置
比如
① typedef int *FUNCP(int);
② FUNCP p;
这里 只要把②中的p放到①中的FUNCP的位置
得到的结果便是
int *p(int);
malloc ralloc realloc free 动态内存管理 谁申请 谁释放 防止内存泄漏
要注意在函数传参过程中的内存泄漏问题,有的时候因为函数传参设置的不准确,会一不小心去在主函数或什么函数中释放形参的内存,但是实际上形参在退出调用函数的时候内存已经释放了 没有释放的是实际地址上的内存 这就导致了内存泄漏
解决的方法是通过正确设置传参,获得实际储存空间的首地址,然后释放内存
在释放某块内存后,对指针重新赋值,有可能会造成重大失误。因为有可能之前的内存空间以及分配给别处了