2020-07-10

苏嵌嵌入式Linux实训第六天
今日内容:
1.函数的三要素:函数名,形参,返回值
(什么时候传地址,什么时候传值?)
(1)当只使用不修改实参变量的值,传实参变量名;func (实参变量名)
(2)当使用即修改实参变量的值,传实参变量的地址;func (&实参变量名)

2.常见的内存错误:
  内存泄露、内存碎片、内存空洞
 3.内存池
 4.关键字
register static extern const typedef
作业1.C语言中free函数是如何确定要释放多少内存空间的?
答:malloc和free其实并不是直接向操作系统申请或者释放内存的,而是维护了一个空闲内存块的链表
链表中内存不够的时候,才向操作系统申请内存,
malloc返还给你的地址的前面一小段是存在链表中的,留有你这一块多大的信息
free函数必须与malloc等配对作用,malloc成功分配了多少空间已经记载到首指针中了,所以free只要一个这样的指针就可以了。
2、static什么时候使用?
答:static变量初始值一定要是常量。 static变量中文名叫静态变量。它与普通的变量比起来有如下几个区别:

1)位置:静态局部变量被编译器放在全局存储区.data,所以它虽然是局部的,但是在程序的整个生命周期中存在。

2)访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问。

3)值:静态局部变量如果没有被用户初始化,则会被编译器自动赋值为0,以后每次调用静态局部变量的时候都用上次调用后的值。这个比较好理解,每次函数调用静态局部变量的时候都修改它然后离开,下次读的时候从全局存储区读出的静态局部变量就是上次修改后的值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值