【C语言】指针(3)

本文详细解释了数组指针的概念、初始化方法,以及二维数组传参的特性。还介绍了函数指针的使用,包括其格式和两种常见的说明方式。最后讲解了函数指针数组和回调函数的概念及其在编程中的应用。
摘要由CSDN通过智能技术生成

目录

数组指针变量

本质

格式

初始化

二维数组传参的特征

函数指针变量

学前须知

格式

说明的两种写法

int(*p1)(int , int ) = Add

int(*p1)(int x , int y) = &Add

函数指针数组

概念

格式

回调函数

概念


数组指针变量

本质

一个指向一个数组的指针变量

格式

int* p1[10];
int(*p2)[10];

上面的代码中

p1先和【】结合,是一个数组,格式为int*型

p2和*先结合,是一个指针,指向一个有10个成员的int型数组

p2就是数组指针变量

初始化

int a[10] = { 0 };
int(*p2)[10]=&a;

注意:初始化时给的成员大小要和数组一致,如果a【5】,那么p2也是【5】

二维数组传参的特征

形参的部分可以写成数组,也可以写成数组指针形式

函数指针变量

学前须知

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

格式

int Add(int x, int y)
{
	return x + y;
}
int main()
{
	int(*p1)(int, int) = Add;
	return 0;
}

上面的代码中

int(*p1)(int , int) = Add 就是对函数指针的说明

int是该指针所指向函数的返回类型

(*p1)是函数指针变量的名称

(int,int)是所指向函数的参数类型和个数

说明的两种写法

int(*p1)(int , int ) = Add
int(*p1)(int x , int y) = &Add

上面的代码中的x和y可写可不写,&符号也是可写可不写

函数指针数组

概念

把函数的地址存到⼀个数组中,那这个数组就叫函数指针数组

格式

 int (*pa[3])();

pa先和【】结合,说明它是一个数组,内容是int(*)()类型的指针函数

回调函数

概念

回调函数就是⼀个通过函数指针调⽤的函数

如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值