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