c - 访问结构体中定义的函数指针?

标签 c structure function-pointers

编写一个程序,使用结构体structure2访问函数“foo”。

typedef struct
{
   int *a;
   char (*fptr)(char*);
}structure1;

typedef struct
{
   int x;
   structure1 *ptr;
}structure2;

char foo(char * c)
{
---
---
---
}

最佳答案

structure2 *s2 = (structure2*)malloc(sizeof(structure2));
s2->ptr = (structure1*)malloc(sizeof(structure1));
s2->ptr->fptr = foo;
char x = 'a';
s2->ptr->fptr(&x);

关于c - 访问结构体中定义的函数指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1721095/

相关文章:

c - 利用 C 代码中的不兼容指针类型错误

c - 基本主菜单代码不起作用

string - 如何从 MATLAB 中的字符串输入创建函数指针?

c - 返回 libc 缓冲区溢出练习问题

c - 释放后将变量设置为 NULL

c - 使用多个排序条件对数组进行排序(快速排序)

c++ - 有没有一种通用的方法来传递需要较少工作的重载方法的指针(比我的示例)

c - 这个函数分配是如何工作的?

c - C 中的字符串声明

c++ - 单向链表和填充后不需要的第一个元素