gpt4 book ai didi

c - 关于void和指针的问题

转载 作者:行者123 更新时间:2023-11-30 19:02:23 26 4
gpt4 key购买 nike

我现在正在学习c语言。但是,我对下面的代码有点困惑:

void (*fn_test)(void *pData);

最佳答案

这是一个函数指针。变量 fn_test 是一个指向函数的指针,该函数采用单个 void * 参数并且不返回任何值。

换句话说,你可以这样做:

#include <stdio.h>

void myFn(void *x) {
printf("%p\n", x);
}

int main(void){
int a = 10;
void (*fn_test)(void*);
fn_test = myFn;
fn_test(&a); // Calls myFn
}

如果您想了解类似的内容,可以使用 cdecl 工具,该工具在许多发行版上都可用,并且几乎肯定也可以在 Windows 上下载:

cdecl> explain void (*fn_test)(void*)
declare fn_test as pointer to function (pointer to void) returning void

或者使用在线版本here .

关于c - 关于void和指针的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56050782/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com