函数指针和指针函数

函数指针和指针函数,第1张

函数指针和指针函数

目录

概念

几种定义函数指针的方式:

1,直接定义一个函数指针指向函数

2,先定义出需要指向的函数的类型,再定义一个此函数类型的函数指针指向这个函数

怎么定义函数类型;

3,同2,可以先定义函数指针类型,再这个指针类型定义一个指针指向这个函数

函数指针数组:


概念

同字面意思

函数指针是指针

指针函数是函数

指针函数是指返回类型是一个指针的函数

函数指针是指一个指针,这个指针指向一个函数

eg:

指针函数:int *func(){}

函数指针:int (*p)(参数列表);

特别需要注意的是:

函数指针的类型:

函数指针的类型不是其前面的数据类型

函数指针统一的参数类型表达式:

类型 (*)(参数);

几种定义函数指针的方式: 1,直接定义一个函数指针指向函数

eg:

定义一个函数指针指向这函数:

int func(int a,int b)
{
        return a+b;
}
void main()
{
        int (*p)(int a,int b)=func;
        int sum=p(2,3);
        printf("%dn",sum);
}
还有一个需要注意的问题:

怎么获取一个函数的地址:

函数名就是函数第地址

2,先定义出需要指向的函数的类型,再定义一个此函数类型的函数指针指向这个函数 怎么定义函数类型;

eg:  typedef int(typeFunc)(int a,int b);

eg:

int func(int a,int b)
{
        return a+b;
}
void main()
{
        typedef int(typeFunc)(int a,int b);
        typeFunc* pp=func;
        printf("%dn",pp(4,5));
}
 

3,同2,可以先定义函数指针类型,再这个指针类型定义一个指针指向这个函数

eg:

int func(int a,int b)
{
        return a+b;
}
void main()
{
        typedef int(*typeFunc)(int a,int b);
        typeFunc pp=func;
        printf("%dn",pp(4,5));
}
 

函数指针数组:

格式:

类型 (*[n])(参数)

eg:int (*p[3])(int a)

注意[ ]在()里面了

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3970431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存