嵌入式学习心得(十三)一些心得
来源:互联网 发布:网络剧余罪第一季下载 编辑:程序博客网 时间: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;
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
- 嵌入式学习心得(十三)一些心得
- 嵌入式学习心得(一)
- 嵌入式学习心得(二)
- 嵌入式学习心得(三)
- 嵌入式学习心得(四)
- 嵌入式学习心得(六)
- 嵌入式学习心得(七)
- 嵌入式学习心得(十一)
- 嵌入式数据库(十三)
- 单片机和嵌入式的一些学习心得
- 嵌入式学习日记(十三)
- 嵌入式学习心得
- 技巧心得:DOS学习心得(一)
- 我的嵌入式学习心得(五)
- 嵌入式实时操作系统程序设计学习心得(一)
- 嵌入式实时操作系统程序设计学习心得(二)
- Dijkstra算法——《算法导论》学习心得(十三)
- 我的MYSQL学习心得(十三) 权限管理
- mybatis-spring工作浅析
- flume学习(八):自定义拦截器
- 关于建立一个TCP服务端出现阻塞问题
- java多线程知识个人总结诶
- c++设计模式之模板方法模式
- 嵌入式学习心得(十三)一些心得
- txt文件导入Mysql
- 04、C语言-指针
- nginx 配置详解
- 重叠区间的个数
- 拓扑排序
- Nginx优化-参数epoll,kqueue,rtsig,eventport,poll和select的区别
- C语言指针(一)
- 第十六周 项目2--大数据集上排序算法性能的体验