苏嵌实训-嵌入式 linux C 【第5 天】

本文深入探讨嵌入式Linux下C语言的关键概念,包括内存管理、关键字运用、结构体和共同体理解,以及函数和函数指针的高级应用。特别强调了函数三要素:函数名、形参和返回值,并详细解析了传地址与传值的区别,以及函数指针在实现回调函数中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目名称苏嵌实训-嵌入式 linux C 【第5 天】
今日进度以及任务计算机内存管理  C的关键字的作用和使用   结构体 共同体的理解和使用
本日开发中出现的问题汇总

free函数通常和malloc函数共同使用 课后自己找资料了解

今天代码量不多  主要是看老师讲解

本日开发收获(上课笔记)

函数--函数三要素:函数名,形参,返回值
1,函数名:命名--->自注释性 动词+名词   add_user  del_user
2,函数参数:实参是什么类型,形参就要定义什么类型;<传数组名>


传地址和传值:什么时候传地址,什么时候传值?
当只使用不修改实参变量的值,传实参变量名;func(实参变量名)
当使用及修改实参变量的值,传实参变量的地址:func(&实参变量名)
 
3,函数的返回值:return()  exit()
4,华为编码规范<入口参数检查,函数的异常处理>
5,
函数指针变量:保存函数的入口地址
 函数名作用:指针长常量,保存函数的入口指针:(函数指针)
函数指针的作用:做函数形参,实现回调函数
6,函数指针数组

 

C语言内存管理<内存是稀缺资源>
1,对程序员来说,内存管理应该掌握那些内容?
数据存放在哪? <Linux虚拟地址空间分布图>
2,常见的内存错误:内存泄露,内存碎片,内存空洞。
3,malloc/free
4,内存池:(当时用多次malloc操作改变成只使用1次)
malloc/free是一个开销非常大的操作。

关键字
register:尽可能的将数据保存到CPU 的寄存器中,提高了程序运行效率(省去了CPU通过总线从内存中抓取数据的过程)
注意事项:  只能修饰局部变量,不能修饰全局变量和函数  一旦修饰了,就不能做取地址符

static:(静态变量)
作用:
修饰局部变量:延长了局部变量的生命周期,程序结束之后再释放(只执行一次)
修饰全局变量:静态全局变量,该变量不能在其他文件使用。
修饰函数:该函数只能被本文件的函数调用,不能被其他文件访问

extern(外部声明):告诉编译器这个函数或是变量是在其他文件定义的;

const
修饰变量:该变量成为一个只读变量(值是可以被改变的)
距离谁近就修饰谁
使用注意事项:修饰某个变量时一定要初始化

typedef:给数据类型重命名

复合数据类型:
struct(相同类型定义在一起),union(大端字节序,小端字节序),enum(当项目中需要多个整数宏时)

其他(作业)https://blog.youkuaiyun.com/l_ove_you/article/details/107239332

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值