【重新学习C Day11 for 嵌入式Linux】

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 动态内存管理 谁申请 谁释放 防止内存泄漏

要注意在函数传参过程中的内存泄漏问题,有的时候因为函数传参设置的不准确,会一不小心去在主函数或什么函数中释放形参的内存,但是实际上形参在退出调用函数的时候内存已经释放了 没有释放的是实际地址上的内存 这就导致了内存泄漏
解决的方法是通过正确设置传参,获得实际储存空间的首地址,然后释放内存

在释放某块内存后,对指针重新赋值,有可能会造成重大失误。因为有可能之前的内存空间以及分配给别处了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值