C语言结构体中的函数指针
来源:互联网 发布:昆明达内大数据培训 编辑:程序博客网 时间:2024/05/21 17:47
C语言结构体中的函数指针
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。所以,标准C中的结构体是不允许包含成员函数的,当然C++中的结构体对此进行了扩展。那么,我们在C语言的结构体中,只能通过定义函数指针的方式,用函数指针指向相应函数,以此达到调用函数的目的。
1. 函数指针
一般的函数指针可以这么定义:
int(*func)(int,int);
表示一个指向含有两个int参数并且返回值是int形式的任何一个函数指针. 假如存在这样的一个函数:
int add2(int x,int y)
{
return x+y;
}
那么在实际使用指针func时可以这样实现:
func=&add2; //指针赋值,或者func=add2; add2与&add2意义相同
printf("func(3,4)=%d"n",func(3,4));
事实上,为了代码的移植考虑,一般使用typedef定义函数指针类型.
typedef int(*FUN)(int,int);
FUN func=&add2;
func();
2.结构体中包含函数指针
其实在结构体中,也可以像一般变量一样,包含函数指针变量.下面是一种简单的实现.
#include "stdio.h"
struct DEMO
{
int x,y;
int (*func)(int,int); //函数指针
};
int add2(int x,int y)
{
return x+y;
}
void main()
{
struct DEMO demo;
demo.func=&add2; //结构体函数指针赋值
printf("func(3,4)=%d"n",demo.func(3,4));
}
1 0
- C语言结构体中的函数指针
- C语言结构体中的函数指针与函数
- c语言结构体中的函数指针与函数
- C语言结构体指针在函数调用中的使用
- C语言--结构体中的指针
- C语言--结构体中的指针
- C语言--结构体中的指针
- C语言--结构体中的指针
- C语言中的结构体指针
- C语言中的结构体指针
- C语言中的结构体指针
- c中结构体中的指针函数
- C语言结构体指针,函数指针的用法
- c语言中的函数指针
- C语言中的函数指针
- C语言中的函数指针
- C语言中的函数指针
- C语言中的函数指针
- #android#通知Notification
- Java异常
- 关于beta分布的理解
- 交货单批次拆分(BAPI_OUTB_DELIVERY_CHANGE )并更改拣配数量,发货过账(WS_DELIVERY_UPDATE)
- iOS及Mac开源项目和学习资料【超级全面】
- C语言结构体中的函数指针
- windows 下 CMD 查询本机开了哪些端口 并查看开启端口的软件
- 正则表达式语法和示例
- 大数据工具/框架
- JSP
- 关于spring配置中the prefix "tx" for element "tx:annotation-driven" is not bound 问题的处理
- WPF DataGridComboBox绑定enum
- js密码强度验证代码
- 压缩文件文件流