Chinaunix首页 | 论坛 | 博客
  • 博客访问: 861387
  • 博文数量: 133
  • 博客积分: 7117
  • 博客等级: 少将
  • 技术积分: 1846
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-16 21:30
文章分类

全部博文(133)

文章存档

2012年(1)

2011年(4)

2010年(2)

2009年(57)

2008年(69)

分类: C/C++

2009-08-14 09:40:55

下面的源代码包含在一个不正确使用函数的一个指针。 然而,该代码是正确的。 有两种方法时使用函数指针调用一个函数:
(*pointer_to_function)();
pointer_to_function();
示例代码中出现该行为正常。 ANSI 标准 (文档编号 X3J11 / 88-002,1988 1 月 11) 允许通过使用以下语法
(*pointer_to_function)();
除了以下 nontraditional 语法:
pointer_to_function();
下面的程序文本引用从页 41 在"草稿的基本原理为编程的信息系统建议美国的国家 / 地区标准语言 C"(sec.3.3.2.2、"函数调用"):
后者构造不 sanctioned 在基本的文档中位于 C 某些存在版本、 是明确,使任何旧的代码,可以是重要的简写形式。

下面的代码示例演示了此方法。 示例代码 /* * Compile options needed: none */ #include vo...

下面的代码示例演示了此方法。

示例代码

/*
* Compile options needed: none
*/

#include

void main(void)
{
void ftn(void);
void (*ptr_to_ftn)(void);

ptr_to_ftn = ftn; // The pointer is correctly assigned
// the address of 'ftn()'

printf("\nCalling the function\n\n");

ptr_to_ftn(); // This is not traditional syntax for
// a call through a function pointer

printf("back to main\n");
}

void ftn(void)
{
printf("in the function\n\n");
}
阅读(1569) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~