C语言之指针函数和函数指针

C  2023年8月25日 am8:08发布1年前 (2023)更新 91es.com站长
98 0 0

前言

C语言中,除了数组指针指针数组,还有指针函数函数指针

很绕,容易记错!因此记录一下,方便自己查阅!

正文

指针函数

指针函数是一个函数的返回值为地址的函数。

返回值为指针类型的一个函数

一般格式:

数据类型 * 函数名(形参){
    语句:
}

比如

char name[] = "@站长";

char* getName() {
    return name;
}

本质就是函数!

函数指针

函数指针用来存放函数的地址,这个地址就是函数入口的地址。函数名就是代表函数的入口地址!

一般定义形式:

数据类型 (* 函数指针名称) (参数说明表);

规则

  1. 数据类型 : 是函指针所指向的函数返回值类型

  2. 参数说明表 : 与函数指针缩指向的形参说明表保持一致

# 定义
int (*fun_sum)(int x, int y);

int sum(int x, int y){
    return x+y;
}

# 指向sum地址
# 可看成给sum函数找新代理名为fun_sum
fun_sum = sum;

小结

1. [指针函数]]是个函数,返回类型为指针
2. [函数指针]是个指针,用于指向函数地址的
3. 如果函数名前的指针*被括号()包含,就是函数指针;反之,是指针函数

PS:我的理解,完全可以看后面名称。

如果后面的是指针,那就是指针类型,也就可以指向地址。

如果后面的是函数(或数组),那就是返回类型或存储类型是指针。

参考文章

 历史上的今天

  1. 2019: Windows软件开机多个(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

乔叶:曾经这样爱过你

曾经这样爱过一个人:爱的人知道,被爱的人不知道,这是暗恋吗?爱着的时候,就整天鬼迷心窍地琢磨着你。你偶然有句话,就想着你为什么要这样说?你在说给谁听?有什么用?你偶然的一个眼神掠过,就会颤抖,欢喜,忧伤,沮丧。怕你不看自己,也怕你看到自己。更怕你似看不看的余光,轻轻地扫过来,又飘飘地带过去,...

Fragment already added

前言项目中会用Viewpager+Fragment来显示图片,先项目中测试ok,但是我单独拎出来做简单调试时出现:java.lang.IllegalStateException: Fragment already added: PlayFragment尴尬了,就我拎出来的demo代码片段有...

IjkPlayer和MediaPlayer常见错误码

前言现在媒体播放使用很多项目都使用bilibili开源的IjkPlayer,当然也用系统自带的MediaPlayer,都有回调onError()和onInfo(),因此这里整理一下常见的INFO码。 @Override public boolean onError(MediaPl...

PHP中检查url是否可以正常访问

一个链接是否可以正常访问:方法一:array get_headers( string $url[, int $format = 0] )url: 目标 URL。format: 如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。返回:...

Android WindowManager弹窗容易出现的问题

WindowManager弹窗提示时需要注意下,比如系统应用和非系统应用权限的不同、Android不同版本的权限申请不同等,下面是我在应用中出现的问题,因此整理一下。问题一:没有设置android.permission.SYSTEM_ALERT_WINDOW出现异常提示Unable to a...

铁凝:幸福就在此刻

去探望一位生病的友人,聊起很多从前的事情,计划很多未来的事情,她忽然发问:对于你来说,幸福的时刻是什么?想了半天,竟然没有一个很适合的答案。那阵子,经常携带这个难题去和人打交道,不管是新朋还是故友,聊到酣畅总是抛出这个问题冷场,当然,收获的答案也是五花八门——有人说,幸福的时刻就是加官晋爵时买房...