苏嵌嵌入式Linux实训第六天

学习内容
•函数
函数的三要素:函数名 形参 返回值
1、函数名:命名–>自助式性
动词+名词 add_user del_user
2、函数参数:实参是什么类型,形参就要定义成什么类型;<传数组名>
传一维数组名,用元素的指针;
传二维数组名,用一维数组指针;
传三位数组名,用二维数组指针;
传指针数组名,指针的指针;
传地址和传值:什么时候传地址什么时候传值?

当只使用不修改实参变量的值,传实参变量名:func(实参变量名)
当使用及修改实参变量的值,传实参变量的地址:func(&实参名变量名)

传入参数,传出参数<如何让函数返回多个值?>

3、函数的返回值:return exit
4、函数指针变量:保存函数的入口地址;
5、函数名作用:指针常量,保存函数的入口地址:(函数地址)
6、add++
7、函数指针的作用:做函数形参,实现回调函数
8、才用了不容的函数名(调用形式)
统一的调用形式:传递不同的函数,指向不同操作———多态:代码扩展性

内存管理
在这里插入图片描述
关键字 register static extern const typedef

复合数据类型
作业
1、C语言中free函数是如何确定要释放多少内存空间的?
Linux里面glibc在分配内存的时候会在内存块的地址前面的4个字节出存放内存块的大小。
2、static什么时候使用?
无生命周期的用static,有生命周期的不用static。需要用到面向对象行为特征的不用static,static本身不属于面向对象范畴,用了static,无法多态。static是常驻内存的,不会被回收的,没有生命的。

3、为什么要使用typedef给变量重命名?
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。
作用如下:<1>使用typedef为现有类型创建别名,定义易于记忆的类型名。
<2>typedef 还可以掩饰复合类型,如指针和数组。(typedef是给类型重命名的。而不是给变量或者常量重命名,要区别define,它是给常量重命名的。用自定义的名字来取代已有的类型名。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值