C语言结构体中的函数指针
来源:才华咖 本文已影响1.44W人
来源:才华咖 本文已影响1.44W人
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;
=&add2; //结构体函数指针赋值
printf("func(3,4)=%d"n",(3,4));
}
解析C语言编程中指针赋值的实例
c语言的学习心得体会3篇
C语言实习心得体会
C语言指针与二维数组资料详解(附示例代码)
C语言指针教学
计算机二级C语言字符串的指针以及指向字符串的指针变量
C语言中各种类型的指针的概念
C语言指针的概念
C语言中的指针和内存泄漏
C语言中指针的用法介绍
C语言指针的传递
C语言学习中的指针用法教程
初步剖析C语言编程中的结构体
C语言指针的用法
C语言中指针高级用法介绍
C语言的指针
在Swift中怎么使用C语言的指针
c语言中指针的使用方法
C语言结构体说课稿
c语言指针运用中堆和栈的区别
C语言中一个结构不能包含指向自己的指针
C语言中可移植且可靠的指针运算
讲解C语言编程中的结构体对齐
C语言中野指针的深入解析
C语言中各种类型指针的特性与用法介绍