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

结果分析:

本章完~


相关推荐
Naiva6 分钟前
【小技巧】Python + PyCharm 小智AI配置MCP接入点使用说明(内测)( PyInstaller打包成 .exe 可执行文件)
开发语言·python·pycharm
梦子要转行15 分钟前
matlab/Simulink-全套50个汽车性能建模与仿真源码模型9
开发语言·matlab·汽车
myloveasuka36 分钟前
信号操作集函数
linux·运维·服务器·c语言·c++·vscode
北方有星辰zz1 小时前
数据结构:栈
java·开发语言·数据结构
我是唐青枫1 小时前
C#.NET NLog 详解
开发语言·c#·.net
Mr_Xuhhh1 小时前
网络基础(1)
c语言·开发语言·网络·c++·qt·算法
旺旺大力包2 小时前
【JS笔记】JS 和 noodjs 的常见操作(十)
开发语言·javascript·node.js·ecmascript
背影疾风2 小时前
C++之路:类基础、构造析构、拷贝构造函数
linux·开发语言·c++
Ting-yu2 小时前
Java中Stream流的使用
java·开发语言·windows
【ql君】qlexcel3 小时前
Notepad++ 复制宏、编辑宏的方法
开发语言·javascript·notepad++··宏编辑·宏复制