C/C++函数指针

来源:互联网 发布:java简单计算器代码 编辑:程序博客网 时间:2024/06/03 05:15

在C/C++中定义函数指针语法如下

[return type] [*function name]([arguments list])=NULL

如果我们需要将函数指针声明为一种类型,则:

typedef  [return type] [*function name]([arguments list])=NULL

function name 即为函数类型 

调用这个函数为 解引用(参数)

(*function name)(arguments list);

 

作为强制转换符

函数类型名还可以作为强制转换符 ,

将指定的函数转换为相对应的函数类型,需要注意一下几点:

1.如果参数个数不同,将进行裁剪,

2.如果参数类型不同,将抛出强制转换出错.

function name(function name);

 

 

函数指针数组

typedef  [return type] [*function name]([arguments list])={NULL}

[*function name]指向数组函数指针

(实际上C/C++ 语言中,函数名即为函数的指针,函数名记录着函数的内存地址) 所以我们可以这样

*[function name][index]=function name;

或者

*[function name][index]=&function name;

 

 

 

原创粉丝点击