谁能解释一下这个类型在C语言中的int * (*) (int *)
到底是什么意思?
谢谢,
最佳答案
除非 int
定义为宏,否则 int * (*) (int *)
既不包含任何常量也不包含任何标识符,因此它不能是表达式。相反,它是一种类型。具体来说,它是一种指向函数的指针类型,该函数接受一个类型为 int *
的参数,并返回一个类型为 int *
的值。例如,它与指向此函数的指针兼容:
int *foo(int *x) {
return x + 1;
}
您可以在类型转换表达式中使用它,例如在这个人为的示例中:
int *(*p)() = foo;
int *(*p2)(int *) = (int * (*)(int *)) p;
// here ------------^^^^^^^^^^^^^^^^^^
关于c - int * ( * ) ( int * ) 这个类型在c语言中代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917491/