Chinaunix首页 | 论坛 | 博客
  • 博客访问: 542904
  • 博文数量: 99
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1117
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-23 15:17
文章分类

全部博文(99)

文章存档

2011年(4)

2010年(13)

2009年(82)

我的朋友

分类: LINUX

2009-07-07 14:00:47

今天上网站上浏览帖子的时候,看到一个很好玩且非常有学习意义的帖子,将的是c中函数指针的妙用,现将内容转录如下
一小段精彩的 C语言,1和2实现相同的功能,欢迎大伙跟帖呵(特别感谢trio老师)

1  void (*theUboot)(void);
     。。。。
     theUboot = (void (*)(void))(0x30700000);
     *theUboot();
     。。。。。

2  (*(void (*)(void))(0x30700000))();
函数指针以前感觉很虚,没见过真的例子,这次见了一个,果然觉得很有妙用啊,刚开始看的不太懂,后经过trio的讲解,再结合上的高级c语言课,现在有点懂了,theUboot = (void (*)(void))(0x30700000)这句话是把0x30700000这个绝对地址转换为一个函数指针赋值给theUboot,然后再引用下theUboot所指向的函数,猛,这对只知道函数入口地址的特殊函数,像没有声明过的,或不在同一个工程的函数的调用应该很有用,学习下,呵呵
 
阅读(950) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~