《重生到现代之从零开始的C语言生活》—— 指针5

函数指针变量

从之前的学习我们能够类比出,函数指针变量是用来存放函数地址的,未来通过地址能够调用函数的

函数是有地址的,函数名就是函数的地址,当然也可以通过&函数名的方式获得函数地址

函数指针变量的表现形式

c 复制代码
int (*p) (int x, int y)

形式如下:

函数指针变量的使用

通过函数指针调用指针指向的函数

c 复制代码
#include <stdio.h>

int add (int x,int y)
{
    
    return x+y;
}
int main()
{
    int (*p)(int x,int y) =add;
    printf("%d",(*p)(2,3));
    return 0;
}

typedef关键字

typedef是用来类型重命名,可以将复杂的类型简单化

假如如果你觉得unsigned int太麻烦,写起来太复杂

那么我们就可以

c 复制代码
typedef unsigned int ugint//将unsigned int 重命名为ugint

假如将数组指针类型int (*)[i]重命名为aaa

那么我们就能这样写

c 复制代码
typedef int (*aaa)[i]//新的类型名必须在*的右边

假如将函数指针类型void (*)(int)重命名为aaa

c 复制代码
typedef void (*aaa)(int)//新的类型名必须在*的右边

函数指针数组

我们学习过指针数组,就是将指针存储在数组里

那要是把函数的地址存在一个数组中,那个数组就叫函数指针数组

c 复制代码
int (*arr[i])(int)

arr先于[ ]结合,说明arr是数组

数组的内容是int ( * )(int)


今天的知识讲解完啦,如果觉得有用可以点一下赞和关注,也可以先收藏以防需要时找不到哦,当然如果作者写的哪里有问题欢迎指出,我们一起进步!!!

祝看到这里的人天天开心哦(笔芯)

相关推荐
白色的北极熊1 小时前
c语言 scanf 输入流有空格,逗号 说明
c语言
Logic1011 小时前
C语言/数据结构位运算题解:异或XOR找出货船中的“独特载货量“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
xx~t5 小时前
嵌入式——51单片机3
linux·c语言·嵌入式硬件·51单片机
山下梅子酒2255 小时前
洛谷-入门-B2042
c语言
ysu_03146 小时前
08-二叉树遍历:四种方式详解
c语言·数据结构·算法·leetcode
ocean21036 小时前
2025-2026年C语言专题面试高频知识点洞察
c语言·面试·面试经验
南京兴帝文化传媒有限公司6 小时前
本地生活服务GEO优化案例:宁国瑜伽馆地图关键词布局与AI问答优化路径
大数据·人工智能·生活·geo 优化·ai搜索获客
Lzh编程小栈7 小时前
STM32 DMA深度解析|原理、完整工作流程、寄存器、中断联动,嵌入式面试高频考点(F1系列)
c语言·stm32·单片机·mcu·面试
刃神太酷啦7 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
luj_17688 小时前
生物体如何应对功能击穿?
c语言·开发语言·c++·经验分享·算法