二维数组的基本知识点

在行的基础上多了一个列,常常以矩阵的形式呈现

一.四种定义方式

1. 数据类型 数组名【行数】【列数】;

如 int arr[3][2]

arr[0][0]arr[0][1]
arr[1][0]arr[1][1]
arr[2][0]arr[2][1]

答应打印数组中的数据都可以用双层循环打印

#include<iostream>
using namespace std;
int main()
{
	int arr[2][3];
	//赋值
	arr[0][0]=1;
	arr[0][1]=2;
	arr[0][2]=3;
	arr[1][0]=4;
	arr[1][1]=5;
	arr[1][2]=6;
	//外层循环打印行数;内层循环打印列数
	for(int i=0;i<2;i++)
	{
		for(int j=0;j<3;j++){
			cout<<arr[i][j]<<endl;
		}
	 } 
    return 0;
 } 

运行结果

2.数据类型 名【行数】【列数】={{数据一,数据二},{数据三,数据四}};!!!这哥们儿最常用

#include<iostream>
using namespace std;
int main()
{//直观 
	int arr[2][3]=
	{
		{1,2,3},
		{4,5,6}
	};
	

	//外层循环打印行数;内层循环打印列数
	for(int i=0;i<2;i++)
	{
		for(int j=0;j<3;j++){
			cout<<arr[i][j]<<" ";
		}
		cout<<endl;
	 } 
    return 0;
 } 

 3.数据类型 名【行数】【列数】={数据一,数据二,数据三,数据四}

系统默认分配,但不是很直观

	int arr[2][3]={1,2,3,4,5,6};

 这里会默认一行三个,那么前三个数字就被收在第一行

4. 数据类型 名【】【列】={数据一,数据二,数据三,数据四};

	int arr[][3]={1,2,3,4,5,6};

系统可以推算出一共有三列,那么6/3=2,所以是有两行

行数可以省略但是列数不可以

二.二维数组的数组名

作用

1.查找二维数组所占用的内存

2.获取二维数组的首地址

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

三.练习

输出多行成绩总和

#include<iostream>
#include<string> 
using namespace std;
int main()
{    
	int grade[3][3]=
	{
		{100,100,100}, 
		{90,50,100},
		{60,70,80} 
	};
	string name[3]={"张三","李四","王五"};
	for(int i=0;i<3;i++)
	{
		int sum=0;
		for(int j=0;j<3;j++)
		{  sum+=grade[i][j] ;}
		cout<<name[i]<<"的总分为"<<sum<<endl; }	 
    return 0;
 } 

 注意,在使用string时要加上头文件 #include<iostream>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值