上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组。在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以确定它在数组中的位置。本节只介绍二维数组,多维数组可由二维数组类推而得到。

二维数组的定义

二维数组定义的一般形式是:

dataType arrayName[length1][length2];

其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。例如:

int a[3][4];

定义了一个3行4列的数组,共有3×4=12个元素,数组名为a,即:

a[0][0], a[0][1], a[0][2], a[0][3]

a[1][0], a[1][1], a[1][2], a[1][3]

a[2][0], a[2][1], a[2][2], a[2][3]

在二维数组中,要定位一个元素,必须给出一维下标和二维下标,就像在一个平面中确定一个点,要知道x坐标和y坐标。例如,a[3][4] 表示a数组第3行第4列的元素。

二维数组在概念上是二维的,但在内存中地址是连续的,也就是说各个元素是相互挨着的。那么,如何在线性内存中存放二维数组呢?有两种方式:一种是按行排列, 即放完一行之后再放入第二行。另一种是按列排列, 即放完一列之后再放入第二列。

在C语言中,二维数组是按行排列的。也就是先存放a[0]行,再存放a[1]行,最后存放a[2

C语言使用二维数组存储姓名,C语言二维数组 - osc_it9fazjn的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. c语言0阶乘分之一前三十项,MuPAD使用总结 - osc_wws45aot的个人空间 - OSCHINA - 中文开源技术交流社区...

    MuPAD使用总结 一.打开notebook界面的方法: 二.notebook界面的三种区域 (一).输入区域 输入区域在打开来的时候就有,就是 ,但是之后如果还想再加,可以点击上方红色框内的图标. ...

  2. Java实现数组列项相加_裂项求和法 - osc_rkun22vq的个人空间 - OSCHINA - 中文开源技术交流社区...

    常用公式 常用式:$\cfrac{1}{n(n+1)}=\cfrac{1}{n}-\cfrac{1}{n+1}$:推广式:$\cfrac{1}{n(n+k)}=\cfrac{1}{k}(\cfrac{ ...

  3. 用c语言编写oj成绩排名,OJ题:成绩排序 - 杨源鑫的个人空间 - OSCHINA - 中文开源技术交流社区...

    题目描述 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理. 例示: jack 70 peter 96 Tom 70 smit ...

  4. 按照c语言规首字母只能是,C语言--指针 - osc_nbqoh20k的个人空间 - OSCHINA - 中文开源技术交流社区...

    [TOC] #知识内容总结 ##为什么要学习指针? 我们已经学习了如何用数组存放多个相同类型的数据并进行运算,但数组的长度在定义时必须给定以后不能再改变.如果事先无法确定需要处理数据数量,应该如何处理 ...

  5. python数组和链表的区别_数组和链表的区别 - toddler的个人空间 - OSCHINA - 中文开源技术交流社区...

    数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素.但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中.同 ...

  6. c语言第三次作业(循环),C语言——第三次作业 - osc_kt69pvbx的个人空间 - OSCHINA - 中文开源技术交流社区...

    #作业要求一# 题目6-1 输出月份英文名 题目6-2 查找星期 题目6-3 计算最长的字符串长度 题目6-4 指定位置输出字符串 作业:C高级第三次作业(2)没有思路,知识点也没有明白,未完成. # ...

  7. c语言处理字符串函数的头文件,C语言字符处理函数 - 20131125的个人空间 - OSCHINA - 中文开源技术交流社区...

    C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入.输出.合并.修改.比较.转换.复制.搜索几类. 使用这些函数可大大减轻编程的负担.用于输入输出的字符串函数,在使用前应包含头文件" ...

  8. php循环遍历数组保存数据库,php数组循环遍历 - 与狼共舞红队的个人空间 - OSCHINA - 中文开源技术交流社区...

    下面这三种是常用的 $_arr=array(); foreach($_arr as $key=>$value){ var_dump($key,$value); echo " " ...

  9. java 数组减除值_java数组操作 - osc_hwpd2zko的个人空间 - OSCHINA - 中文开源技术交流社区...

    什么是数组: 程序 = 算法+数据结构 算法:解决问题的步骤,流程(顺序,分支,循环) 数据结构:将数据按照某种特定的结构来保存 数怎么存 设计良好的,合理的数据结构可以导致好的算法 数组:就是一种最 ...

最新文章

  1. Struts的MVC和Spring的MVC的区别
  2. 博后招募 | 清华大学电子系姚权铭教授招聘机器学习方向博士后
  3. 利用反射获得委托和事件以及创建委托实例和添加事件处理程序
  4. java.lang.IllegalStateException: getOutputStream() has already been called for this response
  5. SQLServer常见的数学函数梳理
  6. 自学php【二】 PHP计算时间加一天
  7. css-浮动-定位-行内或行内快特点
  8. 这届年轻人,连泡面也买不起了
  9. php 转发邮件,PHP Email();我不接收转发的电子邮件
  10. 拼团小程序源码_拼团小程序制作干货教程
  11. 【软件工程】滨江学院 李振宏 软件工程 考点整理
  12. Pandas系列(十二)实现groupby分组统计
  13. 阶段3 2.Spring_09.JdbcTemplate的基本使用_2 JdbcTemplate的概述和入门
  14. netzapper操作
  15. 微信卡券的创建、领取、核销
  16. JavaScript函数——输入某年某月某日,判断这一天是一年中的第几天
  17. 端游体验服服务器维护怎么办,经典区高清天堂体验服维护公告
  18. 齐博模板直接写mysql_齐博CMS使用常见问题和技巧汇总
  19. list数据比对与list对象比对
  20. 手机卡服务器密码忘记了怎么修改密码,wifi密码忘记了怎么办找回密码 手机怎么修改自家wifi密码...

热门文章

  1. 假设一个计算机系统有如下性能特征,2009级计算机科学与技术本科班中期试题...
  2. TDengine下载安装以及Unable to resolve FQDN解决还有Java配置
  3. 【070】千千秀字-文字处理类集成工具库
  4. 使用matplotlib绘制简单图表第二课
  5. 安卓开发权威指南!含泪狂刷Android基础面试118题,聪明人已经收藏了!
  6. Linux如何实现动态IP
  7. C#之在PictureBox控件上画点
  8. 利用python脚本实现企业微信机器人定时天气预报
  9. [explan-trans]不用将train的01234数据提到一个文件夹train_images的vit程序(需要给图片-名字前面添加标签)
  10. mysql explain plan_获取执行计划EXPLAN PLAN