void (*isr_handle_array[50])(void);求解这个申明怎么理解 啊??
这是函数指针数组。一层一层向里面剥就好啦。
是一个指向 返回值为void 参数也是void的指针数组。先看里面[50]知道是个数组,再向外看是一个函数指针,合起来就是函数指针数组。我写个源码,你就明白啦。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stdio.h> //这是你问题中的函数指针数组 void (*isr_handle_array[50])( void ); //这是两个返回值void 参数也是void的函数 void hello( void ) { printf ( "hello " );} void world( void ) { printf ( "world\n" );} int main() { //这里把hello 和world两个函数的地址保存到数组中 isr_handle_array[0] = hello; isr_handle_array[1] = world; //这里就可以通过数组直接调用函数啦。 isr_handle_array[0](); isr_handle_array[1](); return 0; } |
执行效果如下:
hello world
void (*isr_handle_array[50])(void);求解这个申明怎么理解 啊??的更多相关文章
- void类型及void指针
1.概述 许多初学者对C/C 语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧. 2 ...
- C语言之void类型及void指针 分类: C/C++ 2015-07-13 11:24 8人阅读 评论(0) 收藏
原文网址:http://www.cnblogs.com/pengyingh/articles/2407267.html 1.概述 许多初学者对C/C 语言中的void及void指针类型不甚理解,因此在 ...
- void (*f(int, void (*)(int)))(int) 函数解析 转
今天与几个同学看到了一个函数指针定义: void (*f(int, void (*)(int)))(int) 以前在C trap pit fails里面见过,但是文章里面介绍的很详细,但是往往使初学者 ...
- void *memmove( void* dest, const void* src, size_t count );数据拷贝,不需要CPU帮助
分享到 腾讯微博 QQ空间 新浪微博 人人网 朋友网 memmove 编辑词条 编辑词条 --> memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,m ...
- void (*f(int, void (*)(int)))(int) 函数解析
函数指针 今天与几个同学看到了一个函数指针定义: void (*f(int, void (*)(int)))(int) 以前在C trap pit fails里面见过,但是文章里面介绍的很详细,但是往 ...
- void类型和void* 的用法
C语言中的void 和 void * 总结 1.void的作用 c语言中,void为“不确定类型”,不可以用void来声明变量.如:void a = 10:如果出现这样语句编译器会报错:variab ...
- void类型及void指针(转载)
转载 https://www.cnblogs.com/pengyingh/articles/2407267.html 2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针” ...
- 无法从“void (__thiscall CtestDlg::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
按照孙鑫的教程添加自定义消息时,如果是VC6.0开发环境,也许没有什么 问题,但在VS2008中编译会报错的 无法从"void (__thiscall CtestDlg::* )(voi ...
- void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别?
void fun() const{}; const void fun(){}; 和void const fun(){}; 的区别? const void fun(){};和void const fun ...
随机推荐
- DB9_公头_母头_串口引脚定义及RS-232串口线制作方法
RS-232连接线制作方法 材料及工具 一根双绞线(8芯).一个标准RJ45头.一个DB9孔型插头.一把RJ45专用工具.一个电烙铁及若干焊锡. 引脚定义 按以下管脚定义制作RJ45端头:I表示网络视 ...
- NGUI插件的一个扩展---NGUI_HUD_Text
NGUI_HUD_Text扩展主要用于主角跟随和伤害/治疗的功能. 场景大概是这样的,我们希望有一个主角,在其头顶显示他的名字,在单击鼠标左键的时候显示红色的“-10”表示减少血量,单击鼠标右键的时候 ...
- java代码中 路径符号的写法
String path="D:\\新建文件夹\\2.png"; File file=new File(path); System.out.println(file.exists() ...
- java对象和json对象之间互相转换
import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.Li ...
- POJ 1062 昂贵的聘礼(dij+邻接矩阵)
( ̄▽ ̄)" #include<iostream> #include<cstdio> #include<cstring> #include<cstd ...
- lldpcli 常用命令
1.查看周围的邻居列表 root@hbg:/# lldpcli show neighbors------------------------------------------------------ ...
- AIR使用文件对象操作文件和目录
文件对象是啥?文件对象(File对象)是在文件系统中指向文件或目录的指针.由于安全原因,只在AIR中可用. 文件对象能做啥? 获取特定目录,包括用户目录.用户文档目录.该应用程序启动的目录和程序目录 ...
- oracle的exp和imp命令的使用【转载】
oracle的exp和imp命令的使用 我们通常要对ORACLE的数据进行导入,导出,在没有expdb,impdb以前(10G以前),我们都是使用exp 导出,imp命令来实现导入. 打开 ...
- php 使用操作符
算术操作符.字符串操作符.赋值操作符 1.比较操作符 比较运算符 例子 名称 结果 $a == $b 等于 TRUE,如果类型转换后 $a 等于 $b. $a === $b 全等 TRUE,如果 $a ...
- How to Iterate Over a Map in Java?(如何遍历Map)
1.Iterate through the "entrySet" like so: public static void printMap(Map mp) { Iterator i ...