gpt4 book ai didi

c - int * ( * ) ( int * ) 这个类型在c语言中代表什么?

转载 作者:太空宇宙 更新时间:2023-11-04 05:33:00 24 4
gpt4 key购买 nike

谁能解释一下这个类型在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/

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