c - 理解 C 中的函数指针

标签 c function-pointers

<分区>

(*PREDir->cfun) ( d, &tf ); 在下面的代码中负责什么:

typedef struct {
    FILE    *fp;
    char    queue[ NAMELEN ];
    char    fullpath[ NAMELEN ];
    char    fname[ NAMELEN ];
} TRW;

typedef struct {
    char    *dir_to_scan;
    void    (*cfun)();
} SCANNING;

static TRW  tf;
static SCANNING *PREDir;
char *d;

(*PREDir->cfun) ( d, &tf );

最佳答案

PREDir 是指向结构的指针。该结构包含一个名为 cfun 的成员,它是一个指向函数的指针,该函数采用未指定数量的参数并且不返回任何内容。

(*PREDir->cfun) ( d, &tf );

使用两个参数调用该函数,d 和指向 tf 的指针。

关于c - 理解 C 中的函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19591637/

相关文章:

c - c中结构中的动态分配内存

C char[] 和 *char

c - 数组问题C的动态分配

c++ - 在调用传递给模板函数的函数时调用指向成员函数的指针

c++ - 在C++中定义带有函数参数的结构体方法

c - 使用 mbed 写入 Matlab 和 C 之间的串行端口时遇到问题

c - 功能未正常执行

c - 覆盖函数指针引发错误 : non-object type is not assignable

c++ - C++中指向类方法的指针

C++ SetConsoleCtrlHandler,在没有全局变量的情况下传递数据进行清理