| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:定义一个指针函数数组
只看楼主 加入收藏
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
结帖率:76.92%
收藏
 问题点数:0 回复次数:5 
定义一个指针函数数组
我想定义一个指针函数数组怎么定义:
这是我写的2种形式,请问哪一种形式可以:

1.int ( * (* p)[10] )(int,int);
2.int ( * ( * p [10] ) )(int,int);
我感觉第二种可以,你们觉得哪种可以啊

2015-08-17 00:31
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
414就知道了啊

DO IT YOURSELF !
2015-08-17 08:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
写个自己也不懂的代码,你可以用typedef的
第一段 int ( * (* p)[10] )(int,int); 等同于
typedef int (*FUN)( int, int );
typedef FUN FUNARRAY[10];
FUNARRAY* p;

第二段 int ( * ( * p [10] ) )(int,int); 等同于
typedef int (*FUN)( int, int );
FUN* p[10];

虽然不知道你想干什么,但我这两段代码都不是你要的,你要的应该是 int (*p[10])( int, int );
2015-08-17 09:13
corfox
Rank: 2
等 级:论坛游民
帖 子:15
专家分:53
注 册:2015-7-29
收藏
得分:0 
int ( * (* p)[10] )(int,int);

这个意思是说,p是一个指针,它指向具有10个元素数组的指针,这个数组的每个元素是一个指向参数为(int, int)返回值为int的函数指针的指针

int ( * ( * p [10] ) )(int,int);

这个意思是,p是一个数组,数组每个元素是一个指针,指向参数(int,int)返回值为int的函数指针的指针。
而c语言中,数组名一般可以等价于指针,所以这两者一般也是可以等价的。

所以说,指向参数为(int,int)返回值为int的函数的指针数组正是楼上所说的 int (*p[10])(int, int)
2015-08-17 09:31
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
收藏
得分:0 
回复 3楼 rjsp
不是。我在书上看到的,我自己一下不知道什么意思,就过来问一下
2015-08-18 17:03
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
收藏
得分:0 
回复 4楼 corfox
多谢,和我想的差不多啊
2015-08-18 17:05
快速回复:定义一个指针函数数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036899 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved