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]就是第三行这个一维数组的数组名;

结果分析:

本章完~


相关推荐
大鹏说大话3 分钟前
MySQL + Redis + Caffeine:Java后端通用三级缓存架构实战
开发语言
yuanpan6 分钟前
Python 桌面 GUI 入门开发:从 tkinter 窗口到简易记事本
开发语言·python
User_芊芊君子26 分钟前
聊聊自由开发者常用的学习机会全解析
开发语言·人工智能·python
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题】【Java基础篇】第40题:Java中的深拷贝和浅拷贝有什么区别
java·开发语言·后端·面试
xh didida1 小时前
算法 -- 位运算
开发语言·c++·算法
谙弆悕博士1 小时前
快速学C语言——第2章:编程规范与代码风格
服务器·c语言·开发语言·经验分享·程序人生·学习方法·业界资讯
byzh_rc2 小时前
[AI编程从入门到入土] 装饰器decorator
开发语言·python·ai编程
贫民窟的勇敢爷们2 小时前
Java 与 Python 如何选型与融合
java·开发语言·python
流氓也是种气质 _Cookie2 小时前
Chrome Performance常见名词解释(FP, FCP, LCP, DCL, FMP, TTI, TBT, FID, CLS)
开发语言·javascript·ecmascript
gihigo19982 小时前
基于MATLAB的LTE物理层仿真系统
开发语言·matlab