码迷,mamicode.com
首页 > 编程语言 > 详细

05_数组(二)

时间:2020-07-30 21:43:03      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:focus   实例   初始化   ring   类型   遍历   opera   定义   维数   

二维数组

一 定义和初始化

    // 元素类型 数组名[行数][列数];
// 定义了一个元素类型为 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:实例见后续博文

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

05_数组(二)

标签:focus   实例   初始化   ring   类型   遍历   opera   定义   维数   

原文地址:https://www.cnblogs.com/ZhenXin0101/p/13405916.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!