c学习-50

随笔

文件内声明定义变量(结构体);
1. 函数可以用
2. 引用头文件的可以用。
3. 


变量的生命周期:
局部变量:全局变量:
局部变量:函数内局部变量,只在函数内使用,包括函数内嵌套的的其他函数。
外部函数 ;不能调用,作用域和生命周期对不上。

指针:指针变量的生命周期和作用域和普通变量一样。指针指向的地址,是永远有效的,除非指针变量改变指向,或者销毁。

函数内要检查入参指针是否为空。
函数 接收的参数 在内部不考虑 生命周期。

堆上的变量 ,除了,函数内部使用,可通过指针传给其他函数(生命周期自己控制),函数可以返回堆上来的变量,供其他函数使用。


static 变量 :静态变量


头文件 :定义函数 需要的入参 类型(结构体)。
认为本层为外层,内层函数所需的出入参数 都保存到外层结构体。
分出:内层--外层 头文件  -->被包含的为内层  要单向  可以多对一  一对多  但不能相互包含


项目是可以是同级子项目, 逻辑上有内外成(h文件和头文件)

模块化开发:一个模块 只有函数和接 变量声明。变量作为出参入参,他包含所有内层函数的数据结构,这样 他可以又作为 内层。  


线程 之间通信   ( 队列);线程也简单归类一个函数。(就是一个函数)

编码层面 线程理解为一个函数,
逻辑层面 还是要区分线程。

c语言面向过程:
函数指针 是一个特例,函数指针变量。函数存储在结构体中。


回调函数:  好处:1. 使用不同的函数时,只用传函数指针就行了,不用修改函数内部代码。  2. 可以保存函数指针
    3,,
回调函数,可以假设,调用者代码不能修改(比如是系统),或者是模块,可以灵活调用,不改变内部代码。


加入是三方:A方代码固定(调用者) b方代码固定(函数实现被调用者(多种函数)),c方(调用者调用被调用者什么函数)


摘抄:钩子函数是操作系统在特定位置预留的空函数.打补丁用的.


摘抄:比如,我们写A B C D 四个函数,封装成一个库文件,然后我们的主函数里面要写一个功能函数,这个功能要用到函数A,假如不用函数指针,这个功能函数就要调用函数A,下次如果用到函数B,那么我们得删掉A,调用函数B,每次都要修改这个函数很麻烦,但如果使用回调函数就不一样了,我们可以定义4个函数指针,把4个函数的地址分别赋给4个函数指针,然后将函数指针当作参数传递给功能函数,功能函数就可以通过修改参数来调用对应的函数,而它本身不用做任何的修改。这样的话,功能函数就可以根据不同的情况,通过函数指针去调用不同的函数,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值