当前位置: 首页 > news >正文

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

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

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

        问题复现代码如下:

         二、以前为什么可以呢?

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

        代码如下:

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

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

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

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

问题剖析:

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

正确示例:

 

http://www.lryc.cn/news/17075.html

相关文章:

  • Photon Vectorized Engine 学习记录
  • webRTC学习-基础知识
  • MySQL数据库——JDBC编程
  • 【面向小白】你见过这样讲解队列的吗?(阅此文可学会用纯C手撕一个队列)
  • [element plus] 对话框组件再封装使用 - vue
  • Markdown基本语法简介
  • 分布式服务的接口幂等性如何设计
  • 视频流截取保存到本地路径(打包jar包CMD运行)
  • mysql索引失效的几种情况
  • Windows下载安装Redis的详细步骤
  • 【蓝桥杯每日一题】差分算法
  • MyBatis Plus 数据库字段加密处理
  • openpose在win下环境配置
  • 【剑指offer-C++】JZ16:数值的整数次方
  • 了解Axios及其运用方式
  • 【LeetCode】剑指 Offer(7)
  • Python:try except 异常处理整理
  • Redis Lua脚本的详细介绍以及使用入门
  • synchronized和ReentrantLock有什么区别呢?
  • SVHN数据集下载及使用方法
  • 产业安全公开课:2023年DDoS攻击趋势研判与企业防护新思路
  • Docker 容器命令 和安装各种镜像环境
  • 【数据结构】顺序表的深度剖析
  • 当面试官问“你的SQL能力怎么样”时,怎么回答才不会掉进应聘陷阱?
  • AI作画—中国画之山水画
  • Java:Java与Python — 编码大战
  • 山东专精特新各地市扶持政策
  • 持续事务管理过程中的事件驱动
  • 【手把手一起学习】(三) Altium Designer 20 原理图库添加元件
  • 设计模式-行为型模式:观察者模式