栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

函数指针和指针函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

函数指针和指针函数

目录

概念

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

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)

注意[ ]在()里面了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号