2022.1.29 C++学习——数组

42.数组——一维数组定义方式

数组特点:放在一块连续的内存空间中,数组中每个元素都是相同数据类型。

三种定义形式:

数组类型 数组名 [数组长度];

int arr [5]
//给数组中的元素进行赋值,数组元素下标从0开始索引
arr [0] =10;
arr [1] =20;
arr [2] =30;
arr [3] =40;
arr [4] =50;
//访问数据元素
cout << arr [0] << endl;
cout << arr [1] << endl;
cout << arr [2] << endl;
cout << arr [3] << endl;
cout << arr [4] << endl;

数组类型 数组名 [数组长度]={值1,值2...};

int arr [5] ={10,20,30};//如果在初始化数据时,没有填完的数据,会用0填补剩余数据
for (int i =0,i<5,i++)
{
  cout << arr [0] << endl;
}

数组类型 数组名 [] ={值1,值2...};

43.数组——一维数组——数组名

一维数组名称作用:

1.可以统计整个数组在内存中的长度: sizeof(数组名)

2.可以获取数组在内存中的首地址 :  arr 

int main()
{
  int arr [10] ={1,2,3,4,5,6,7,8,9,10}
  cout <<"整个数组所占内存空间为:" << sizeof(arr) << endl;
  cout <<"每个元素所占内存空间为:" << sizeof(arr [0]) << endl;
  cout <<"数组的元素个数为:" << sizeof(arr)/sizeof(arr [0]) << endl;
//可以通过数组名获取到数组的首地址
  cout <<"数组首地址为:" << int(arr) << endl;
  cout <<"数组中第一个元素的地址为:" << &int(arr[0]) << endl;
  cout <<"数组中第一二个元素的地址为:" << &int(arr[1]) << endl
}
// arr=100;错误,数组名是常量,因此不可以赋值。

44.数组——一维数组——案例:五只小猪

int arr[5]={100,200,300,400,500};
int max =0;//先认定一个最大值为0
for (int i =0, i<5,i++)
{
  for (arr[i]> max) //如果访问的数组中的元素比我认定的最大值还大,更新最大值;
  {
    max =arr[i];
  }
}
  cout << "最重的小猪体重为: << max <<endl; //打印最大值

45.数组——一维数组——案例:数组元素逆置

练习案例2:数组元素逆置

1.创建数组
int arr[5] ={1,3,2,5,4};
cout <<"数组逆置前:" << endl;
for (int i =0,i<5,i++)
{
  cout << arr [i] << endl;
}
2.实现逆置
int start =0;//起始下标
int end = sizeof(arr)/sizeof(arr[0]) -1;//结束下标
while (start<end)
{ //实现元素互换
  int temp =arr[start];
  int start =arr[end];
  int start =arr[temp];
//下标更新
  start++;
  end--;

}
  cout <<"数组元素逆置后为:" << endl;
  for (int i =0,i<5,i++)
{
  cout << arr [i] << endl;
}


素例描述:请声明一个5个元素的数组,并且将元素逆置|
(如原数组元素为:1.3,2,5,4;逆置后输出结果为:4,5,2,3,1);

46.数组——一维数组——冒泡排序

47.数组——二维数组定义方式

二维数组定义方式:

1.数据类型 数组名  [行数][列数];

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

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] <<endl;
  }
}

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

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

48.数组——二维数组数组名

二维数组名称用途

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;

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

cout <<"二维数组首地址为:"<< (int)arr <<endl;

cout <<"二维数组第一行首地址为:"<< (int)arr[0] <<endl;

cout <<"二维数组第二行首地址为:"<< (int)arr[1] <<endl;

cout <<"二维数组第一个元素首地址为:"<< (int)&arr[0][0] <<endl;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祺格格

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值