C语言数组笔试题(详解)


目录

插入知识:

一.指向函数指针数组的指针

二.回调函数

什么是回调函数?

三.数组笔试题


个人名片:

🐼作者简介:一名乐于分享在学习道路上收获的大二在校生
🐻‍❄个人主页: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]就是第三行这个一维数组的数组名;

结果分析:

本章完~


相关推荐
C66668881 分钟前
TCP/IP协议
开发语言·tcp/ip·计算机视觉·信息与通信
Lester_11012 分钟前
嵌入式学习笔记 - freeRTOS在程序开始在任务内创建任务的好处是什么
java·开发语言·freertos
愚润求学2 分钟前
【Linux】线程控制
linux·运维·开发语言·c++·笔记
泽02025 分钟前
C++之动态数组vector
java·开发语言·c++
stein_java1 小时前
springMVC-9数据格式化
java·开发语言
李少兄1 小时前
Java集合初始化:Lists.newArrayList vs new ArrayList()
java·开发语言·python
nbsaas-boot1 小时前
小团队如何落地 Scrum 模型:从 0 到 1 的实战指南
开发语言·架构
love530love1 小时前
【笔记】Windows系统部署suna基于 MSYS2的Poetry 虚拟环境backedn后端包编译失败处理
开发语言·人工智能·windows·笔记·python·numpy
黄雪超1 小时前
JVM——从JIT到AOT:JVM编译器的云原生演进之路
java·开发语言·jvm
yunvwugua__1 小时前
Python训练营打卡 Day43
开发语言·python