ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

05_数组(二)

2020-07-30 19:31:22  阅读:29  来源: 互联网

标签:11 10 12 20 05 int 数组


二维数组

一 定义和初始化

    // 元素类型 数组名[行数][列数];
// 定义了一个元素类型为 int 类型,数组名为 arr2 ,3行4列的二维数组
int arr2[3][4];

// 初始化
// 按行初始化
int arr3[3][4] = {
{0,1,2,3},
{10,11,12,13},
{20,21,22,23}
};
// 某些元素不给初值
int arr4[3][4] = {
{ 0, 1, 2},
{ 10, 11 },
{ 20 }
};
// 连续初始化
int arr5[3][4] = { 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23 };
// 某些元素不给初值
int arr6[3][4] = { 0, 1, 2, 10, 11, 20 };

// 一维数组在定义的同时初始化可以不写数组长度
// 二位数组在定义的同时初始化可以不写行数 但是列数一定要写
// 此时行数 根据初始项的数量(N)来确定 N/列数 12/4 == 3行
int arr7[][4] = { 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23 };
// 此时行数 根据初始项的数量(N)来确定 N/列数 10/4 == 3行
// 此时 因为是3行 所以最后两个元素默认值为0
int arr8[][4] = { 0, 1, 2, 3, 10, 11, 12, 13, 20, 21 };

int arr9[][4] = {
{ 0, 1, 2, 3 },
{ 10, 11, 12, 13 },
{ 20, 21, 22, 23 }
};
int arr10[][4] = {
{ 0, 1, 2 },
{ 10, 11 },
{ 20 }
};

// 字符数组
char ch1[][10] = {
"gudlk",
"giua",
"ghjjkg"
};

二 内存

1 二维数组的内存也是连续的
2 总内存 == 单个元素所占内存大小 * 元素个数
3 二维数组也是数组
4 二维数组组的每一行可以看作一个一维数组

三 访问

一) 下标访问

1 数组下标从0开始
    int arr3[3][4] = {
{0,1,2,3},
{10,11,12,13},
{20,21,22,23}
};
cout << arr3[1][3] << endl; // 13

二) 指针访问

  ps:见后续博文

四 赋值

    // 按行初始化
int arr3[3][4] = {
{0,1,2,3},
{10,11,12,13},
{20,21,22,23}
};
cout << arr3[1][3] << endl; //13
arr3[2][3] = 56; //给单个元素赋值
cout << arr3[2][3] << endl; //56

int arr2[3][4];
// 给所有元素赋值
// 通过循环遍历到每一个元素逐个赋值
for (int i = 0; i < 3; i++)//行
{
for (int j = 0; j < 4; j++)//列
{
arr2[i][j] = i * 10 + j;
}
}
// 打印数组
for (int i = 0; i < 3; i++)//行
{
for (int j = 0; j < 4; j++)//列
{
cout << arr2[i][j] << "\t";
}
cout << endl;//打印完一行后换行
}

 

五 应用(推箱子)

  ps:实例见后续博文

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:11,10,12,20,05,int,数组
来源: https://www.cnblogs.com/ZhenXin0101/p/13405916.html

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有