C语言之对多维数组的简易理解_ricardoleo的博客-程序员ITS203_c语言三维数组怎么理解

技术标签: c语言  

    在平常学习的过程中,必定会经常跟数组打交道并且也经常使用数组,不管是一维数组也好还是多维数组也罢,数组可以说是时常出现。相比较而言,对一维数组来说,理解以及使用都是轻车熟路。但是相比一维数组,多维数组的使用以及理解却有些偏差。在此,我对多维数组进行了简易的理解。
    首先以一维数组为例。要画出一个一维数组,想必非常简单。
    arr[4] = { 1 , 2 , 3 , 4 };

这里写图片描述
上图便是一维数组的存储情况。
但是,当一维数组升级成二维数组时呢?我们平常所看的书本等,在画二维数组时,将二维数组列表化。这样可以让读者简洁明了的理解二维数组。如下图。
这里写图片描述
但是,如果让画三维数组呢?在这个平面无法展现一个立体的情况,并且如果继续升维,四维五维等等。这就引起了我的思考。
我们都知道,数组在内存中的存储,都是线性的。所以无论是几位数组,我们都应该将其理解为线性,也就是一条线排列。那将如何展示呢?
如下图;我们定义一个二维数组 arr [4][4] 将数组一维化,分步解决,先理解arr [4][4] 其实是一个一维数组,里面存储了四个元素,而每个数组元素又是一个新的数组。
这里写图片描述
当我们展示完这个一维数组的元素后,我们再将这个数组的元素展开,也就是这个数组,如下图;
这里写图片描述
这样想的话,其实这个二维数组可以理解成,一个一维数组,里面存储了四个一维数组。而这四个数组相当于之前那个一维数组的元素。
进而可以类推,不管是几位数组,我们都可以认为是一维数组,这个一维数组里面存储着接下来的一维数组,一层一层推到最后,也就推出来了这个数组最终的元素。这样便与数组的线性存储一致了。
接下来,我们研究一个新的问题,就是数组传参问题。
大家都知道,一维数组传参时,需要降维,需要形参接收,这里形参接收的都是指针。这里的指针,便是数组元素类型的指针。

    int arr[4] = {1,2,3,4}
    这里如果接收这个数组,那么接收的便是一个整形类型的指针,因为数组内部存储的是一个整型类型。
    int arr [4][4]
    如果是一个二维数组呢?此时降维成什么?
    根据上文所讲,如果将这个二维数组理解成一个一维数组里面存储着四个一维数组的话,那么降维传参后的指针类型必定是一个数组指针类型。结果正确吗?我们验证一下。

这里写图片描述
这里写图片描述
显而易见,是正确的。

本文是作者的简易理解,日后会有更加有深度的理解,日后会更新。如果有错误,还请包涵,并指出加以改正。谢谢大家了 !

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liuchenxia8/article/details/78827054

智能推荐

Python 中文转Unicode字符串_野生程序猿_天空蓝色的博客-程序员ITS203

Python 3.6代码:# -*- coding: utf-8 -*def to_unicode(string): ret = '' for v in string: ret = ret + hex(ord(v)).upper().replace('0X', '\\u') return retprint(to_unicode("中国"))输...

WindowPhone按键验证_暗诡刺的博客-程序员ITS203

public partial class MainPage : PhoneApplicationPage    {        // 构造函数        public MainPage()        {            InitializeComponent();            NumericTextBox a = new NumericTextBo

Java 解决中文乱码问题_王如霜的博客-程序员ITS203

一:服务端解析客户端二:客户端解析服务端三:Filter设置编码四:Get提交中文乱码

paip.python php的未来预测以及它们的比较优缺点_attilax的博客-程序员ITS203_python取代php

paip.python php的未来预测以及它们的比较优缺点跟个php比..python有下列的优点:1.桌面gui 功能强大。主要是pyqt很好...而ruby qt 则好像不更新了..php-gtk好像不太流行..lua好像只能使用WX,简单 Python 对跨平台的 GUI 工具集 Qt 的包装实现了 440 个类以及 6000 个函数或者方法 ,PyQt 是作为

9行Python代码调用个人微信API创建一个微信机器人_kuokay的博客-程序员ITS203_python 调用微信api

什么是WeChaty?WeChaty是Github的一个开源个人微信API项目,提供了Python、PHP、NodeJs等程序,便于我们使用API操作个人微信:https://github.com/wechaty/wechaty目前WeChaty有多种渠道实现在这之前,有著名的itChat和wxpy让我们调用网页版微信接口实现操作微信,现在网页版微信基本不可以登录了,所以开发者就开发了WeChaty,WeChaty是一款现代会话式RPA SDK,适用于聊天机器人的开发,只需几行代码即可创建一个微信机

知乎实时数仓架构及演进_山高水长~的博客-程序员ITS203

转载自 https://blog.csdn.net/weixin_34064653/article/details/89089961“数据智能” (Data Intelligence) 有一个必须且基础的环节,就是数据仓库的建设,同时,数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务。从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈...

随便推点

verilog中有符号数和无符号数在赋值、运算中的区别_白日梦患者_IC的博客-程序员ITS203_verilog 无符号数赋值给有符号数

verilog中有符号数和无符号数在赋值、运算中的区别赋值有符号数的赋值和无符号数的赋值加减法运算两个无符号数的加减法运算两个有符号数的加减法运算有无符号数的混合加减法乘法运算无符号数/无符号数的乘法运算有无符号数的混合乘法赋值你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法...

13vue学习_v-if和v-show 修饰符的使用_chencaw的博客-程序员ITS203_v-if修饰符

1、使用原则v-if和v-show都可以决定一个元素是否渲染,开发中的原则如下:(1)v-if当条件为false时,压根不会有对应的元素在DOM中(2)v-show 当条件为false时,仅仅是将元素的display属性设为none而已。开发中如何选择呢?(1)当需要在显示与隐藏之间切片很频繁时,使用v-show(2)当只有一次切换时,通过使用v-if<!DOCTYPE html><html lang="en"><head> <me

程序猿个人工具链推荐_瓢瓢菜的博客-程序员ITS203_链推软件

工欲善其事必先利其器,好了,直接上干货.启动软件 Launchy一款让你脱离鼠标的软件,从此你的桌面可以不再有任何图标效果图:优点: 自动联想,自动根据使用频率排序,运行可加参数提示: 它的原理是自动扫描开始菜单获取全部快捷方式,所以若你的软件没有快捷方式在开始菜单,需要手动复制快捷方式(扫描时间可设置)DownloadIDE下载软件Toolbox效果图:...

LITTI、VOC、Udacity等自动驾驶数据集下载及格式转化_chang_rj的博客-程序员ITS203_udacity数据集转voc

https://github.com/umautobots/vod-converterVisual Object Dataset converterConverts between object dataset formats. Requires Python 3.6.Example: convert from data in KITTI format toPascal VOC forma...

域名抢注真的赚钱吗?为什么说域名抢注是新的商机?_聚名网的博客-程序员ITS203_好的域名都被抢注了,复合市场竞争吗

抢注过期域名真的能赚钱吗?不少新手朋友对域名抢注的市场前景提出疑问。其实,域名注册发展至今,很多好域名都已经被注册了,有些品牌精品域名堪称天价,比如我们熟知的jd.com,就是京东斥资3000万元购入的。那么,域名抢注是新的商机吗?域名抢注的前景如何?今天小编就来详细说说。

Springboot如何在maven的pom.xml中添加本地jar包_MonkeyKing-Sun的博客-程序员ITS203

1.Springboot引入本地jar包,使用maven方式jar包名称:cloud-common-1.0.0.jar将jar包放入到D盘根目录(文件路径可以自己选择)//进入jar包所在的路径D://将jar包加入到本地maven库mvn install:install-file -Dfile=cloud-common-1.0.0.jar -DgroupId=dhcc.sas...

推荐文章

热门文章

相关标签