抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

一维数组

一维数组的声明

    在程序设计中,将同一类系的数据按一定形式有序地组织起来,这些有序数据的集合就称为数组。一个数组有一个统一的数组名,可以通过数组名和下标来唯一确定数组中的元素。

    一堆数组的声明形式如下:

1
//? 数组类型 数组名[常量表达式]

    例如:

1
2
3
int a[10];        // 声明 整形 一个数组,数组有 10 个元素。
char name[128]; // 声明 字符 一个数组,数组有 128 个元素。
float price[20]; // 声明 浮点 一个数组,数组有 20 个元素。
  • 使用一堆数组的说明如下:
    • 数组名的定名规则和变量名相同。
    • 数组名后面的括号是方括号,方括号内是常量表达式
    • 常量表达式表示元素的个数,即数组的长度。
    • 定义数组的常量表达式不能是变量,因为数组的大小不能动态定义。
1
int a[i]; //! 不合法!!

一维数组元素的引用

    一堆元素的引用的一般形式如下:

1
//? 数组名[下标];

    例如:

1
int a[10];  //! 声明数组

    a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]。是对元素a中 10个 元素的引用。

  • 一堆数组元素的引用说明如下:
    • 数组元素的下标起始值为0而不是1
    • a[10]是不存在的数组元素,引用a[10]非法。

a[10]属于下标越界,下标越界容易造成程序瘫痪。

一维数组的初始化

    数组元素初始化的方式有两种,一种是对单个元素逐一赋值,另一种是使用聚合方式复赋值。

单一数组元素赋值

    a[0]=0就是对单一数组元素赋值,也可以通过变量控制下标的方式进行赋值,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;

int main()
{
char a[3];
a[0]='a`;
a[2]='c';
int i =0;
cout << a[i] << endl;

getchar();
return 0;
}

    运行结果:

result

聚合方式赋值

    数组不仅可以逐一对数组元素赋值,还可以通过大括号进行多个元素的赋值,例如:

1
int a[12] = {1,2,3,4,5,6,7,8,9,10,11,12};

or:

1
int a[] = {1,2,3,4,5,6,7,8,9,10,11,12}  //! 编译器能够获取数组元素个数

or:

1
int a[12] = {1,2,3,4,5,6,7};  //! 前7个元素被赋值,后面5个元素的值为0

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;

int main()
{
int i, a[10];

for (i=0; i<10; i++)
a[i]=i;

for (i=0; i<10; i++)
cout << a[i] << endl;

getchar();
return 0;
}

    运行结果:

result1

程序实现通过for循环int a[10]定义的数组中的每个元素赋值,然后再循环通过cout函数将数组中的元素值输出到显示设备。

二维数组

二维数组的声明

    二维数组声明的一般形式如下:

1
//? 数据类型 数组名[常量表达式1][常量表达式2]

    例如:

1
2
int a[3][4];          //!声明具有 3 行 4 列的 整型 数组。
float myarray[4][5]; //!声明具有 4 行 5 列的 浮点 数组。

    一个数组描述的是一个线性序列,二维数组描述的则是一个矩阵。常量表达式1代表行的数量,常量表达式2代表列的数量。
    二维数组可以被看作是一种特殊的一维数组,如图所示:虚线左侧为3个一维数组的首元素,二维数组是由A[0]A[1]A[2]这3个一维数组组成,每个一维数组都包含4个元素。

    使用二维数组的说明如下:

  • 数组的定名规则和变量名相同;
  • 二维数组有两个下标,所以要有两个中括号。
1
2
int a[3,4];   //! 不合法!!!
int a[3:4]; //! 不合法!!!
  • 下标运算符中的指数表达式代表数组每一个维长度,他们必须是整数,其乘积确定了整个数组的长度,例如:
1
int a[3][4];

    其长度就是3X4=12

  • 定义数组的常量表达式不能是变量,因为数组的大小不能动态定义。
1
int a[i][k];  //! 不合法!!

二维数组元素的引用

二维数组的初始化

字符数组

咕咕咕

评论

君既已浏览至此,何不留一句?