嵌入式--回调函数使用

回调函数

函数指针作为某个函数的参数()

函数指针变量可以作为函数的参数来使用,回调函数就是被调用函数通过这个指针来访问的那个函数(简单讲:回调函数是由别人的函数执行时调用你实现的函数)

 void populate_array(int *array, size_t arraySize, int (*getNextValue)(void))

                                              第三个参数:函数的指针,通过该函数来设置数组的值。

{

        for (size_t i=0; i<arraySize; i++)

        array[i] = getNextValue();

}

// 获取随机值 int getNextRandomValue(void)

        {

                 return rand();

         }

实例中 getNextRandomValue()为回调函数,它返回一个随机值,它作为一个函数指针传递给 populate_array() 函数。

populate_array() 将调用 10 次回调函数,并将回调函数的返回值赋值给数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
嵌入函数面试题是指在嵌入软件开发中,面试官可能会问到与函数相关的问题。函数是一种常见的编程技术,用于在某个条件满足时执行特定的操作。 在嵌入函数面试中,可能会涉及以下问题: 1. 什么是函数函数是一种通过函数指针传递给其他函数函数。当满足特定条件时,被用的函数会执行相应的操作。 2. 为什么要使用函数函数可以增加代码的灵活性和可扩展性。通过使用函数,可以将某些操作的实现和用方解耦,使得代码更加模块化和可重用。 3. 在嵌入开发中,函数的应用场景有哪些? 函数嵌入开发中非常常见,特别是在事件驱动的系统中。例如,当某个外部事件发生时(如按下按钮、接收到数据等),可以通过注册函数来执行相应的操作。 4. 如何定义和使用函数函数的定义需要满足特定的函数签名(参数类型和返类型)。在使用函数时,通常会将函数指针作为参数传递给其他函数,以指定在特定事件发生时应该用的函数。 5. 函数和中断处理函数的区别是什么? 函数和中断处理函数都是在特定事件发生时执行的函数。区别在于中断处理函数是由硬件中断触发,而函数是由软件事件触发。 以上是嵌入函数面试题的一些常见问题和答。在面试中,根据具体的职位和公司需求,可能还会涉及更深入和具体的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [嵌入软件开发就业面试题。2022最新,最全总结。](https://blog.csdn.net/BBA_Code/article/details/127140662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [嵌入Linux设备驱动面试题汇总](https://blog.csdn.net/chbgoon/article/details/122936954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值