int *(*a[5])(int, char*)
int* 表示是一个int型指针;(*a[5])(int, char*)中的a[5]表示是一个有5个元素的数组,而(*)(int, char*)则表示指向一个函数的指针,该函数有两个参数,第一个参数为int型,第二个是字符指针型,结合前面部分,表示这个函数的返回类型为int型,所以(*a[5])(int, char*)为5个返回类型为int型函数组成的数组;
整个结合起来int* (*a[5])(int, char*)就是指向5个返回类型为int型函数组成的数组的指针变量,变量名为a.
本质是指向数组的指针,该数组是函数而已。希望对你有所帮助。^_^
定义了一个有五个元素的数组,每个元素都是函数指针,指向参数为(int,char*)类型,返回值为int *的函数。 拆开来分析:
typedef int* (*f)(int,char*);//函数指针变量f
f a[5];//f为数组元素类型
所以a是个5个元素的数组,每个元素为函数指针. 1、int *(*a[5])(int, char*); 这个貌似是一个数组,数组中的元素是函数指针(不知道对不对)
2、void (*b[10]) (void (*)()); 这个是什么意思?数组后跟函数指针是什么意思?
3、doube(*)() (*e)[9]; 请教高手:
第1、2都是函数指针类型的数组,区别在于指向的函数的类型不同。
第1个指向的函数返回值为int*类型,参数是int,char*
第2个指向的函数无返回值,参数是void (*)()类型,也是一个指向函数的指针,指向的函数无参数,无返回值。
第3个语法错误。
int *(*a[5])(int, char*)的更多相关文章
- c语言检测文件是否存在int __cdecl access(const char *, int);
最近写代码,遇到很多地方需要判断文件是否存在的.网上的方法也是千奇百怪,“百家争鸣”. fopen方式打开的比较多见,也有其他各种方式判断文件是否存在的,由于其他方法与本文无关,所以不打算提及. 笔者 ...
- 怎么把一个int数组转化为char型数组??
/* 234 Press any key to continue */ #include <stdio.h> int main() { ,n; ]; ; num; ++n) { s[n] ...
- c语言基本数据类型short、int、long、char、float、double
C 语言包含的数据类型如下图所示: 一.数据类型与“模子”short.int.long.char.float.double 这六个关键字代表C 语言里的六种基本数据类型. 怎么去理解它们呢? 举个例子 ...
- Linux基本数据类型大小——int,char,long int,long long int
转自:http://paddy-w.iteye.com/blog/1403217 在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h ...
- c语言基本数据类型(short、int、long、char、float、double)
一 C 语言包含的数据类型 short.int.long.char.float.double 这六个关键字代表C 语言里的六种基本数据类型. 在不同的系统上,这些类型占据的字节长度是不同的: 在32 ...
- C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小 C 语言实例 C 语言实例 使用 sizeof 操作符计算int, float, double 和 char四种变 ...
- c语言基本数据类型short、int、long、char、float、double大小及命名规则
C 语言包含的数据类型: 一.数据类型与“模子”short.int.long.char.float.double 这六个关键字代表C 语言里的六种基本数据类型. 怎么去理解它们呢? 举个例子:见过藕煤 ...
- Convert.ToInt32()、int.Parse()和(int)三者的区别
Convert.ToInt32将object类类型转换成int类型,如Convert.ToInt32(session["shuzi"]); (int)适合简单数据类型之间的转换: ...
- 深度解析C语言int与unsigned int
就如同int a:一样,int 也能被其它的修饰符修饰.除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char.int.Int是 ...
随机推荐
- codeforces 679A Bear and Prime 100 交互
第一次交互题,记录一下吧 #include <cstdio> #include <iostream> #include <ctime> #include <v ...
- XTUOJ 1252 Defense Tower 贪心
题目链接:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1252 思路:考虑每条边对玩家的伤害 假设连接的节点是u,v,破坏 ...
- SqlServer获取两个日期时间差
SELECT datediff(yy,'2010-06-1 10:10',GETDATE()) --计算多少年 SELECT datediff(q,'2011-01-1 10:10',GETDATE( ...
- maltab几个常见的问题
maltab常见的几个习题 1. MATLAB 的命令窗口的作用是什么?编辑/调试窗口?图象窗口? MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符"> ...
- bzoj 3698 XWW的难题(有源汇的上下界最大流)
[题意] 对每个格子确定上下取整,使得满足1.A[n][n]=0 2.每行列前n-1个之和为第n个 3.格子之和尽量大. [思路] 设格子(i,j)上下取整分别为up(i,j)down(i,j),构图 ...
- Hibernate、Mybatis 通过数据库表反向生成java类和配置
一.通过MyEclipse生成Hibernate类文件和hbm.xml文件,或者annotation文件 (转载孙宇老师的文章) 二.Mybatis生成实体类和配置文件: myeclipse下生 ...
- delphi回调函数
文章来源: http://anony3721.blog.163.com/blog/static/5119742010866050589/ 一.主单元 unit UnMain; interface us ...
- UVALive 7454 Parentheses (栈+模拟)
Parentheses 题目链接: http://acm.hust.edu.cn/vjudge/contest/127401#problem/A Description http://7xjob4.c ...
- Spring SimpleJdbcTemplate batchUpdate() example
In this tutorial, we show you how to use batchUpdate() in SimpleJdbcTemplate class. See batchUpdate( ...
- Spring Auto proxy creator example
In last Spring AOP examples – advice, pointcut and advisor, you have to manually create a proxy bean ...