【概念辨析】二维数组传参的集中可能性

news/2024/11/24 13:35:15/

        一、二维数组传参竟然不是用二级指针进行接收?

        今天进行再一次的二级指针学习时,发现了一条以前没怎么注意过的知识点:二维数组进行传参只能用二维数组(不能省略列)进行接收或者是数组指针。

        问题复现代码如下:

         二、以前为什么可以呢?

        我这么久都没有发觉的根本原因是:我之前一般都是使用动态开辟的二维数组进行使用,所以理所当然传递二级指针作为参数。

        代码如下:

         三、二维数组本质上是两个一维数组的叠加

int arr[3][5] = {0};

        arr的含义是:arr是一个3行一维数组,每一行是一个有5个元素的一维数组。

        所以c语言只是叫了一个二维数组,本质上就是一维数组,物理空间的存储方式都是一样的。

问题剖析:

        所以在传递参数的时候,传的是二维数组名,也就是二维数组首元素的地址,也就是一维数组的地址,就是一个数组指针,所以使用二级指针并不能接得住,只能用数组指针或者就用二维数组进行接收。

正确示例:

 


http://www.ppmy.cn/news/27298.html

相关文章

MybatisPlus------插件(分页、乐观锁)通用枚举类(九)

MybatisPlus------插件(分页、乐观锁)(九) MybatisPlus自带分页插件,只要简单的配置就可以实现分页功能。 分页插件 创建分页插件拦截器 // 配置类 Configuration // 扫描mapper接口所在的包 MapperScan("com…

北京/东莞/广州/深圳2023年上半年软考(中/高级)报名>>>

软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成…

持续事务管理过程中的事件驱动

比较官方的定义:事件驱动是指在持续事务管理过程中,进行决策的一种策略,即跟随当前时间点上出现的事件,调动可用资源,执行相关任务,使不断出现的问题得以解决,防止事务堆积。在计算机编程、公共…

Qt 工程 pro文件

工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下。于此备录,分享共勉。 为了更好的理解,先创建一个简单的工程作为实践。 【1】创建一个pro文件 1.1 新建proDemo工程。步骤如下:Qt Creator--->New Pro…

计算机网络概述

目录前言计算机网络的形成<font colorblue>计算机定义与分类计算机网络的定义计算机网络的分类1.按网络的覆盖范围分类2.按网络采用的传输技术分类按网络的拓扑分类计算机网络的组成计算机网络体系结构层次结构体系ISO/OSI 参考模型Tcp/ip体系结构这就是计算机网络的基础…

转发和重定向的区别?

转发和重定向的区别?第一点:也就是最直观的一点就是:重定向会调用HttpServletResponse.sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变.由初始的URL地址栏变成重定向的目标URL而请求转发过程结束后,浏览器的地址栏保持初始的URL地址不变.第二点:也…

Redis官方可视化工具使用体验

前言 我们在使用redis不可避免的使用一些可视化工具&#xff0c;本文来介绍一下官方的可视化工具RedisInsight的使用体验 官方网址&#xff1a;https://docs.redis.com/latest/ri/ 傻瓜式下载安装&#xff0c;此处不作赘述 使用 安装完成后我们当然要先创建一个连接体验一…

MySQL数据库常用命令汇总(全网最全)

目录 数据库常用命令 数据库的创建 数据表的操作 表数据的增删查改 分组与函数查询 运算符&#xff1a;数学运算符 连接查询 多表查询 修改语句 删除语句 字符查询like MySQL练习 总结感谢每一个认真阅读我文章的人&#xff01;&#xff01;&#xff01; 重点&…