c语言中函数指针用法,C语言函数指针的用法

这篇文章简单的叙述一下函数指针在结构体中的应用,为后面的一系列文章打下基础

引言

指针是C语言的重要组成部分, 于是深入理解指针并且高效地使用指针可以使程序员写出更加老练的程序。我们要记住指针是一个指向内存地址的变量。指针可以引用如int、char……常见的数据类型,例如:

int * intptr; // 声明一个指向整型值的指针

int intval = 5 ; // 定义一个整型变量

intptr = & intval ; // intptr现在包含intval的地址

指针不仅仅指向常规的类型还可以指向函数

函数指针

函数指针的内容不难理解,不再赘述,参见《C语言函数指针的用法》

语法

要声明一个函数指针,使用下面的语法:

Return Type  (*function pointer's variable name ) ( parameters )

例如声明一个名为func的函数指针,接收两个整型参数并且返回一个整型值

int (*func)(int a , int b ) ;

可以方便的使用类型定义运用于函数指针:

typedef int (*func)(int a , int b ) ;

结构体中的函数指针

我们首先定义一个名为Operation的函数指针:

typedef int (*Operation)(int a , int b );

再定义一个简单的名为STR的结构体

typedef struct _str {

int result ; // 用来存储结果

Operation opt; // 函数指针

你可能感兴趣的:(c语言中函数指针用法)