嵌入式学习心得(十三)一些心得

传函数实参的两种情况:1.当只使用不修改实参变量对应空间的值,传实参变量名
                     2.当既使用也修改实参变量的对应空间的值,传实参变量对应空间的地址
函数的调用过程:
1,通过函数名找到函数入口
2,给形参分配空间
3,传值
4,执行函数体语句
5,返回释放空间


传出参数和传入参数
传出参数:一个变量从函数中带出来的值
传入参数:一个变量本身有值


解决一个函数返回多个值,可以使用传出参数。


指针和数组的区别:
指针相比较数组在三个方面有着优势:
1,空间分配上来看:指针是动态分配的,而数组是静态分配的,因此指针对于空间的利用率会更高
2,由于c 语言的特点,指针可以访问地址,也因此可以直接访问硬件
3,指针相对数组更加灵活,而且数组名是一个指针常量,是不可以复用和修改的。


常见的内存泄露原因如下:
1,野指针的存在,即使用了一个没有初始化的指针,
2.scanf取地址操作
3,数组访问越界,
4,释放空间之后,继续使用了那段空间。


当遇见指针类型不兼容的时候:就是指函数的形参和实参的步长不一致。


return  和exit  的区别:
return 是结束一个函数,而exit 是结束一个程序;
在使用返回值的时候,可以先使用宏定义去定义返回值,使得函数更具有可看性,
return 0;
return -1;


改为:


define LOG_SUCCESS 0
define LOG_FALLED 1


return LOG_SUCCESS
return LOG_FALLED
养成良好的变成习惯,因此可以在主函数中使用return  0;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值