日志16(二维数组)

一、概述

1.1二维数组的定义

二维数组本质上是一个行列式的组合,也就是说二维数组是由行和列两部分组成。二维数组数据是通过行列解读。

二维数组可被视为一个特殊的一维数组,相当于二维数组又是一个一维数组,只不过它的元素是一维数组。(也就是说数组的元素可以是数组类型)。

1.2二维数组的定义方式

二维数组的定义方式有4种:

  1. 数据类型 数组名[行数][列数];
  2. 数据类型 数组名[行数][列数]={ {数据1,数据2,数据3},{数据4,数据5,数据6} };
  3. 数据类型 数组名[行数][列数]={ 数据1,数据2,数据3,数据4,数据5,数据6 };
  4. 数据类型 数组名[ ][列数]={ 数据1,数据2,数据3,数据4,数据5,数据6 };
/** 定义数组 */
int main()
{
	int		ar[2][3];		// 2 行 3列 未初始化
	int	br[2][3]={{1,2,3},{4,5,6,}};
	int	cr[2][3]={1,2,3,4,5,6};
    int dr[][3]={1,2,3,4,5,6};
	return 0;
}

建议:以上四种,利用第二种更加直观,提高代码的可读性。

1.3二维数组名称

1.3.1二维数组名称用途

1.可以查看占用内存空间大小

int	arr[2][3]={{1,2,3},{4,5,6,}};
cout<<"二维数组占用内存空间为: "<<sizeof(arr)<<endl;
cout<<"二维数组第一行占用内存为: "<<sizeof(arr[0])<<endl;
cout<<"二维数组第一个元素占用内存为: "<<sizeof(arr[0][0])<<endl;
cout<<"二维数组行数为: "<<sizeof(arr)/sizeof(arr[0])<<endl;
cout<<"二维数组列数为: "<<sizeof(arr[0])/sizeof(arr[0][0])<<endl;

2.可以查看二维数组的首地址

cout<<"二维数组的首地址为: "<<arr<<endl;//16进制
cout<<"二维数组的首地址为: "<<(int)arr<<endl;//强转为10进制
cout<<"二维数组第一行首地址"<<(int)arr[0]<<endl;
cout<<"二维数组第二行首地址"<<(int)arr[1]<<endl;
cout<<"二维数组第一个元素首地址"<<(int)&arr[0][0]<<endl;

二维数组的首地址和二维数组第一行和二维数组第一个元素相同。

取元素的首地址必须有取地址符&。

#include <iostream>
using namespace std;
int main() 
{
 double a[5][5];
    for (int i=0;i<5;i++)
    {
        double sum=0.0;
        for(int j=0;j<5;j++)
        {
            cin>>a[i][j];
            sum+=a[i][j];
            printf("%.1f ",a[i][j]);
        }
     
        printf("%.1f",sum);
        cout<<endl;
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-26 16:19
已编辑
上海电信 委培1年再分配 首年23.6w,后续20w左右 硕士985
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-01 12:04
深圳算能信息科技有限公司 嵌入式软件开发 32k×(12-30)+30 硕士985
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务