Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 关于无效和指针的问题_C - Fatal编程技术网

C 关于无效和指针的问题

C 关于无效和指针的问题,c,C,我目前正在学习c语言。但是,我对下面的代码有点混淆: void*fn_testvoid*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*);

我目前正在学习c语言。但是,我对下面的代码有点混淆:

void*fn_testvoid*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> explain void (*fn_test)(void*)
declare fn_test as pointer to function (pointer to void) returning void