gpt4 book ai didi

c - 如何使用变量 p 声明一个新的函数指针,使用以下方法

转载 作者:行者123 更新时间:2023-11-30 18:58:33 24 4
gpt4 key购买 nike

我有p,例如:

typedef int (*p)();

假设我要声明指针的函数是 int foo()。我想使用变量 p 声明一个指向函数 foo 的新指针,以利用 typedef 语句,例如:

typedef int emp[10]; 
emp p;// so now p is an array of size 10 of type int

最佳答案

  1. p 是:

    typedef int (*p) ();
  2. foo() 是:

    int foo(){
    }
  3. p类型变量为f:

    p  f = &foo; 
  4. 如何使用指针调用:

    (*f)();

示例代码:

#include<stdio.h>
int foo(){
printf("\n In FOO\n");
return 4;
}
typedef int(*p)();

int main(){
p f = &foo;
int i = (*f)();
printf("\n i = %d\n", i);
return 1;
}

你可以发现它正在工作on codepad.

注意:您可以简单地p f = foo;那样赋值,并像f()一样调用第二个您可以在 codepad 上找到表格

编辑:正如 @Akash 评论的那样:

它的编译和运行如下:

~$ gcc x.c -Wall 
~$ ./a.out
In FOO
i = 4

Here is a project帮助解释函数指针的用处。

关于c - 如何使用变量 p 声明一个新的函数指针,使用以下方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979728/

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