| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:一段奇怪的程序
只看楼主 加入收藏
yuanlinshiye
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-12
收藏
 问题点数:0 回复次数:6 
一段奇怪的程序
typedef struct
{
  uchar MenuIndex;
  uchar DownTo;
  uchar UpTo;
  uchar EnterTo;
  uchar SetTo;
  uchar StartTo;
  uchar StopTo;
  uchar ResetTo;
  void (*CurrentOperate)();
}KeyTabStruct;

KeyTabStruct KeyTab[182]={
  {0,255,255,255,1,170,255,172,*PowerOn},  
  {1  ,7  ,160,2  ,255,255,255,255,*RunModleSetLcd},
  {2  ,3  ,6  ,1  ,255,255,255,255,*SelectAsAloneLcd},}
void PowerOn()
{;}
疑问1:PowerOn是个函数名,可 *PowerOn是什么意思?是错的么?
疑问2:void (*CurrentOperate)(); 与 *PowerOn 好像不是同一类型
2008-11-12 14:50
scheelite
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2008-11-5
收藏
得分:0 
指向函数指针吧?*不对

[[it] 本帖最后由 scheelite 于 2008-11-12 15:24 编辑 [/it]]
2008-11-12 15:10
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
疑问1:PowerOn是个函数名,可 *PowerOn是什么意思?是错的么?
据说写成**********PowerOn都行
我没试过,应该是这样
疑问2:void (*CurrentOperate)(); 与 *PowerOn 好像不是同一类型
CurrentOperate就是一个无输入参数,无返回值的函数,PowerOn刚好就是这样的函数,很匹配的啊

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-11-12 15:24
scheelite
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2008-11-5
收藏
得分:0 
[bo][un]永夜的极光[/un] 在 2008-11-12 15:24 的发言:[/bo]

疑问1:PowerOn是个函数名,可 *PowerOn是什么意思?是错的么?
据说写成**********PowerOn都行
我没试过,应该是这样
疑问2:void (*CurrentOperate)(); 与 *PowerOn 好像不是同一类型
CurrentOperate就是一个无 ...

怎么匹配了?(*CurrentOperate)() 是函数  那?*CurrentOperate() 是个什么东西?

[[it] 本帖最后由 scheelite 于 2008-11-12 15:28 编辑 [/it]]
2008-11-12 15:27
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
[bo][un]scheelite[/un] 在 2008-11-12 15:27 的发言:[/bo]


怎么匹配了?(*CurrentOperate)() 是函数  那?*CurrentOperate() 是个什么东西?

写少了几个字,(*CurrentOperate)()是“函数的指针”

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-11-12 16:25
新浪
Rank: 3Rank: 3
来 自:水星
等 级:论坛游侠
威 望:1
帖 子:770
专家分:167
注 册:2008-6-10
收藏
得分:0 
[bo][un]scheelite[/un] 在 2008-11-12 15:27 的发言:[/bo]


怎么匹配了?(*CurrentOperate)() 是函数  那?*CurrentOperate() 是个什么东西?

你是怎么看的?
(*CurrentOperate) 说明CurrentOperate是个指针  (*CurrentOperate)()  说明CurrentOperate是指向函数的指针
void (*CurrentOperate)() 说明函数没有返回值

天下皆醒,唯我独醉;  天下皆白,唯我独黑
2008-11-12 16:32
kelag
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-9
收藏
得分:0 
不懂,纯属路过!!
2008-11-12 16:41
快速回复:一段奇怪的程序
数据加载中...
 
   



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

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