0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【C语言经典面试题】函数指针数组的定义是怎么样的?

嵌入式物联网开发 来源:嵌入式物联网开发 作者:嵌入式物联网开发 2022-10-05 16:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

C语言经典面试题】函数指针数组的定义是怎么样的?

经典面试题,有必要了解下!

1 问题描述

C语言的函数指针定义有一定的规则,那么函数指针数组呢?它应该如何定义的呢?

2 示例代码

为此写了一段测试代码:

​
​
#include 
#include int test_func1(int a)
{
return a + 1;
}
​
int test_func2(int a)
{
return a - 1;
}
​
typedef int (*func)(int a);
​
int main(int argc, const char *argv[])
{
func test_func_array[] = {test_func1, test_func2};
​
printf("test_func1: %d\\n", test_func_array[0](1));
printf("test_func2: %d\\n", test_func_array[1](1));
​
return 0;
}

示例代码很简单,

首先定义了两个函数:test_func1和test_func2,

*然后定义了一个函数指针,typedef int (func)(int a);

随后定义了一个函数指针数组,

最后通过函数指针数组依次调用test_func1和test_func2.

测试结果如下:

image-20220930223608949

3 总结

  • 函数指针的定义,可以借助typedef来实现;
  • 当使用typedef定义完函数指针后,它就相当于一个新数据类型,直接使用它来定义一个数组即可。

4 更多分享

[架构师李肯]

架构师李肯全网同名 ),一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、主流IoT云平台的对接、嵌入式IoT系统的架构设计等等。拥有多项IoT领域的发明专利,热衷于技术分享,有多年撰写技术博客的经验积累,坚信【知识改变命运,技术改变世界】!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144558
  • 嵌入式技术
    +关注

    关注

    10

    文章

    366

    浏览量

    43259
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66813
  • 指针
    +关注

    关注

    1

    文章

    484

    浏览量

    71669
  • 数组
    +关注

    关注

    1

    文章

    420

    浏览量

    27111
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言的编程技巧

    一个成员是一个未知大小的数组,适用于动态分配内存并关联一个可变长度的数组。‌ ‌3、匿名结构体和联合体‌:C语言允许在结构体或联合体中定义
    发表于 11-27 06:46

    C指针的妙用分享

    printf(\"往后跳三步:%dn\", *(p+3));// 输出:40 return 0; } 看到没?指针加个数字就能跳到别的位置! 就像在数组里蹦迪一,想跳哪就跳
    发表于 11-17 06:35

    人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)

    后台私信雯雯老师,备注:循环神经网络,领取更多相关面试题随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以
    的头像 发表于 10-17 16:36 474次阅读
    人工智能工程师高频<b class='flag-5'>面试题</b>汇总:循环神经网络篇(题目+答案)

    用30道电子工程师面试题来拷问堕落的你...

    今天用30道电子工程师面试题来拷问堕落的你,你能扛住第几题?1、下面是一些基本的数字电路知识问题,请简要回答之。(1)什么是Setup和Hold时间?答:Setup/HoldTime用于测试芯片
    的头像 发表于 10-15 17:37 684次阅读
    用30道电子工程师<b class='flag-5'>面试题</b>来拷问堕落的你...

    C语言中的内联函数与宏

    C编程中,内联函数和宏都用于避免函数调用的开销并编写可复用的逻辑部分,但它们在工作方式和安全性方面存在显著差异。
    的头像 发表于 07-25 15:10 1706次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中的内联<b class='flag-5'>函数</b>与宏

    【硬件方向】名企面试笔试真题:大疆创新校园招聘笔试题

    名企面试笔试真题:大疆创新校园招聘笔试题-硬件 是几年前的题目,不过值得参考一下哦 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-16 17:31

    硬件工程师面试必看试题(经典)

    硬件工程师面试试题 模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(C=εS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念
    发表于 04-21 15:36

    函数指针的六个常见应用场景

    函数指针在嵌入式开发中有着广泛的应用,它让代码更加灵活,减少冗余,提高可扩展性。很多时候,我们需要根据不同的情况动态调用不同的函数,而函数指针
    的头像 发表于 04-07 11:58 1117次阅读
    <b class='flag-5'>函数</b><b class='flag-5'>指针</b>的六个常见应用场景

    为什么学了C语言,却写不出像样的项目?

    在学习编程的路上,C语言几乎是每个程序员的“必修课”。不管你是打算从事嵌入式开发、系统编程,还是想要深入理解操作系统的底层原理,C语言都是一块重要的基石。然而许多人在学习
    的头像 发表于 03-14 17:37 675次阅读
    为什么学了<b class='flag-5'>C</b><b class='flag-5'>语言</b>,却写不出像样的项目?

    全套C语言培训资料—PPT课件

    全套C语言培训资料,共427页,13个章节:C语言概述、程序的灵魂—算法、数据类型 & 运算符与表达式、顺序程序设计、选择结构程序设计、循环控制、
    发表于 03-12 14:50

    面试题】人工智能工程师高频面试题汇总:概率论与统计篇(题目+答案)

    ​随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以,提前准备一些面试常问的问题,比如概率论与统计知识
    的头像 发表于 01-22 13:00 1385次阅读
    【<b class='flag-5'>面试题</b>】人工智能工程师高频<b class='flag-5'>面试题</b>汇总:概率论与统计篇(题目+答案)

    EE-128:C语言中的DSP:从C调用汇编类成员函数

    电子发烧友网站提供《EE-128:C语言中的DSP:从C调用汇编类成员函数.pdf》资料免费下载
    发表于 01-07 13:48 0次下载
    EE-128:<b class='flag-5'>C</b><b class='flag-5'>语言</b>中的DSP:从<b class='flag-5'>C</b>调用汇编类成员<b class='flag-5'>函数</b>

    C语言试题

    来看一个C语言试题,应该很少有人能给出正确答案。 #include int f(){ printf("this is f ..."); return 1;}int g(){ printf
    的头像 发表于 12-30 09:48 671次阅读

    面试题】人工智能工程师高频面试题汇总:机器学习深化篇(题目+答案)

    ,或者深度学习的框架,还有怎么优化模型,这些都是加分项,能有效提高面试通过率。本篇小编整理了一些高频的机器学习深化方面的面试题,这些题目都是从实际面试中总结出来的,非
    的头像 发表于 12-16 13:42 3301次阅读
    【<b class='flag-5'>面试题</b>】人工智能工程师高频<b class='flag-5'>面试题</b>汇总:机器学习深化篇(题目+答案)

    面试题】人工智能工程师高频面试题汇总:Transformer篇(题目+答案)

    随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以,提前准备一些面试常问的问题,比如机器学习的那些算法
    的头像 发表于 12-13 15:06 2385次阅读
    【<b class='flag-5'>面试题</b>】人工智能工程师高频<b class='flag-5'>面试题</b>汇总:Transformer篇(题目+答案)