【黑马程序员】【C语言】二维数组
来源:互联网 发布:mysql的EXPLAIN用法 编辑:程序博客网 时间:2024/05/17 23:14
1. 什么是二维数组
一个数组能表示一个班人的年龄,如果想表示很多班呢?
什么是二维数组?int ages[3][10]; 三个班,每个班10个人
相当于3行10列
相当于装着3个一维数组
2.二维数组的定义
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:
int a[3][4];
说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:
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]
二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。 在C语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为int类型,该类型占两个字节的内存空间,所以每个元素均占有两个字节。
3.二维数组元素的引用
二维数组的元素也称为双下标变量,其表示的形式为:
数组名[下标][下标]
其中下标应为整型常量或整型表达式。例如:
a[3][4]
表示a数组三行四列的元素。
下标变量和数组说明在形式中有些相似,但这两者具有完全不同的含义。数组说明的方括号中给出的是某一维的长度,即可取下标的最大值;
而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量,后者可以是常量,变量或表达式。
4.代码
1 int main() 2 { 3 /* 4 int ages[5] = {10, 11, 90, 89, 70}; 5 6 int ages2[3][5]= { 7 {10, 11, 90, 89, 70}, 8 9 {10, 11, 90, 89, 70},10 11 {10, 11, 90, 89, 70}12 };*/13 char cs[2][3];14 15 /*16 1 浅蓝色17 2 深蓝色18 3 黄色19 4 红色20 -1 没有21 */22 23 int cubes[5][5] = {24 {1, -1, -1, -1, -1},25 {1, 1, -1, 2, -1},26 {4, 1, 2, 2, 2},27 {4, 3, 3, 3, 3},28 {4, 3, 3, 3, 3}29 };30 31 /*32 1 白色33 2 黑色34 -1 没有35 */36 int wuzi[6][6] = {37 {};38 };39 40 41 return 0;42 }
- 【黑马程序员】【C语言】二维数组
- 黑马程序员 C语言 - 06 数组、二维数组、字符串
- 黑马程序员——c语言基础:二维数组
- 黑马程序员-C-二维数组&指针数组&二维数组指针
- ——黑马程序员——C语言中二维数组、字符数组和字符串
- 黑马程序员--C语言数组
- 【黑马程序员】【C语言】数组
- 【黑马程序员】C语言数组
- 黑马程序员 - C语言 - 数组
- 黑马程序员———C语言———【二维数组、字符串】
- 黑马程序员----C 语言学习笔记之二维数组的存储和应用(迷宫小游戏)
- 黑马程序员------------数组 二维数组
- 黑马程序员——C语言数组
- 黑马程序员---C语言数组与字符串
- 黑马程序员-C语言数组
- 黑马程序员---C语言数组与字符串
- 黑马程序员-c语言数组
- 10、黑马程序员-C语言数组
- Windows下搭建IOS开发环境
- AngularJS 事件
- 拓展欧几里得
- struts总结
- 生活,工作
- 【黑马程序员】【C语言】二维数组
- MySQL中的字符集
- linux下 command not found 问题的解决
- Ubuntu 安装mysql和简单操作
- github 操作记录
- ISLR_BootStrapping
- sed用法
- 【黑马程序员】【C语言】指针
- Java中,父类引用指向子类对象的问题分析