天天看点

c++基础十三(二维数组)1.定义2.初始化3.赋值和输出4.二维数组名

二维数组

  • 1.定义
  • 2.初始化
  • 3.赋值和输出
  • 4.二维数组名

理解:二维数组是一维数组的一种延伸,假如将一维数组比喻成一条由点构成的线,而二维就是由点构成的面.

1.定义

  数据类型 数组名 [行数][列数]

  例:int arr[2][4];

  表示:

  1.定义了一个int类型,数组名为arr的二维数组.

  2.arr数组有2行4列.

  3.下标都是从0开始.

c++基础十三(二维数组)1.定义2.初始化3.赋值和输出4.二维数组名

  4.当程序运行时,将为数组arr开辟2 × \times × 2 × \times × 4=32字节的 连续空间.

2.初始化

  1.数据类型 数组名[行][列]={{数据1,数据2…},{数据n,数据n+1…}…};

  例:  int arr[2][3]={{1,2,3},

                   {4,5,6}};

  2.数据类型 数组名[行][列]={数据1,数据2,…};

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

  3.数据类型 数组名[][列]={数据1,数据2,…};

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

  注:在定义二维数组,如果初始化数据,可以省略行数

3.赋值和输出

  通过数组下标进行赋值和输出.

代码:

#include <iostream>
using namespace std;
int main ()
{
	int arr[2][3]; 
	int arr1[2][3];
	//1.选择性赋值和输出 
	arr[0][0]=5;
	arr[0][1]=6;
	arr[1][0]=4;
	arr[1][2]=34;
	cout<<arr[1][2]<<endl;
	cout<<arr[0][1]<<endl;
	//2.通过循环进行赋值和输出
	 cout<<"请输入6个整数:"<<endl; 
	 for(int i=0;i<2;i++)
	 for(int j=0;j<3;j++)
	 {
	 	cin>>arr[i][j];
	 }
	 cout<<"输出为:"<<endl;
	 for(int i=0;i<2;i++)
	 {
	 for(int j=0;j<3;j++)
	 {
	 	cout<<arr[i][j]<<"  ";	
	 }
	 cout<<endl;	
	 }
system("pause");
	return 0;
}
           

运行结果:

c++基础十三(二维数组)1.定义2.初始化3.赋值和输出4.二维数组名

4.二维数组名

  1.查找二维数组所占的内存空间的大小

   用sizeof关键字来进行访问

   2.查找二维数组的地址

代码:

#include <iostream>
using namespace std;
int main ()
{
	int arr[2][3];
	arr[0][0]=5;
	arr[0][1]=6;
	arr[1][0]=4;
	arr[1][2]=34;
     //二维数组名 
	 //查看内存空间 
	 cout<<"二维数组arr的内存空间:"<<sizeof(arr)<<endl; 
	 //结果为24而不是16,说明在程序运行到int arr[2][3]时,编译器是直接开辟2*3*4=32的内存空间 
	 cout<<"二维数组arr第二行的内存空间:"<<sizeof(arr[1])<<endl;
	 cout<<"二维数组arr的第一行第一列的内存空间为:"<<sizeof(arr[0][0])<<endl; 
	 //行数计算
	 cout<<"二维数组arr的行数:"<<sizeof(arr)/sizeof(arr[0]) <<endl;
	 //列数计算
	 cout<<"二维数组arr的列数:"<<sizeof(arr[0])/sizeof(arr[0][0])<<endl; 
	//查看地址
	cout<<"二维数组arr的首地址:"<<arr<<endl;
	cout<<"二维数组arr第一行地址:"<<arr[0]<<endl;
	cout<<"二维数组arr第二行地址:"<<arr[1]<<endl;
	cout<<"二维数组arr第一个元素的地址:"<<&arr[0][0]<<endl; 
	//二维数组arr的首地址=arr第一行的地址=arr的第一个元素的地址 
	system("pause");
	return 0;
}
           

运行界面:

c++基础十三(二维数组)1.定义2.初始化3.赋值和输出4.二维数组名