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

来源:互联网 发布:网络剧余罪第一季下载 编辑:程序博客网 时间:2024/06/03 13:13
传函数实参的两种情况: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
原创粉丝点击