个人名片:
🐼作者简介:一名乐于分享在学习道路上收获的大二在校生
🐻❄个人主页:GOTXX
🐼个人WeChat:ILXOXVJE
🐼本文由GOTXX原创,首发CSDN
🕊系列专栏:零基础学习C语言----- 数据结构的学习之路🐓每日一句:如果没有特别幸运,那就请特别努力!
本篇文章 对指向函数指针数组的指针和回调函数进行简单介绍 详细讲解数组笔试题解析 的相关知识详细讲解!
如果您觉得文章不错,期待你的一键三连哦,你的鼓励是我创作动力的源泉,让我们一起加油,一起奔跑,让我们顶峰相见!!!
插入知识:
一.指向函数指针数组的指针
二.回调函数
若想直接看题请跳过
一.指向函数指针数组的指针
简单介绍一下(不做详解):
指向函数指针数组的指针是一个 指针 指针指向一个 数组 ,数组的元素都是 函数指针 ;
( int )(*pf)( int ,int ) //函数指针
( int )(*pfArr[5])( int ,int ) //函数指针数组
( int )(*(*p)[5])( int ,int ) =&pfArr //&pfArr函数指针数组的地址
//p就是指向函数指针数组的指针
例子:
二.回调函数
什么是回调函数?
回调函数就是一个通过 函数指针调用的函数 。如果你把函数的指针(地址)作为参数传递给另一个函数,当 这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应;
回调函数的例子:
三.数组笔试题
运行结果:
解析:
数组名的意义:
1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小,(里面单独放数组名,这个数组名才是整个数组的地址);
2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址;
3. 除此之外所有的数组名都表示首元素的地址;
运行结果分析:
字符数组 -1
运行结果:
运行结果分析:
字符数组-2
解析:
strlen函数是求字符串长度的,遇到 '\0'停止,返回'\0'之前的字符个数;
如果没有'\0'就会一直往后面找,直到遇到'\0';
注意:syrlen (const char * str), strlen函数的参数应该是被求长度的起始地址,syrlen (const char * str)
结果分析:
字符数组-3
运行结果:
解析:
字符串
char arr[ ]="abcdef" 数组里面存放的应该是 [a b c d e f \0] ,隐藏了一个 '\0'
运行结果分析:
字符指针 -1
运行结果:
解析:
字符指针
char * p = "abcdef" ; p存放的是首元素a的地址;
结果分析:
字符指针-2
运行结果:
解析:
二维数组
运行结果:
解析:
对于二维数组来说:
a[0]就是第一行这个一维数组的数组名;
a[1]就是第二行这个一维数组的数组名;
a[2]就是第三行这个一维数组的数组名;
结果分析:
本章完~