学习笔记:黑马程序员C++从0到1(5~6)

这篇博客详细介绍了C++中的数组,包括一维数组的定义、数组名的用途、冒泡排序,以及二维数组的定义和案例。此外,还深入探讨了函数的概念、定义、调用、值传递和函数的常见样式。通过实例帮助读者理解这些概念。
摘要由CSDN通过智能技术生成


黑马程序员从0到1——数组
黑马程序员从0到1——函数

5 数组

5.1 概述

所谓数组,就是一个集合,里面存放了相同类型的数据元素

  • 特点1: 数组中的每个数据元素都是相同的数据类型
  • 特点2: 数组是由连续的内存位置组成的

5.2 一维数组

5.1.1 一维数组定义方式

一维数组定义的三种方式:

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

示例:

#include<iostream>
using namespace std;

int main()
{
   
	//数组

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

	//1.数据类型 数组名[数组长度];
	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;

	//2.数据类型 数组名[数组长度] = { 值1,值2,... };
	//如果在初始化数据的时候,没有全部填写完,会用0来填补剩余数据
	int arr2[5] = {
    10, 20, 30, 40, 50 };
	cout << arr2[0] << endl;
	cout << arr2[1] << endl;
	cout << arr2[2] << endl;
	cout << arr2[3] << endl;
	cout << arr2[4] << endl;
	//利用循环输出数组中的元素
	for (int i = 0; i < 5; i++)
	{
   
		cout << arr2[i] << endl;
	}
	//3.数据类型 数组名[] = { 值1,值2,... };
	//定义数组的时候必须有初始长度
	int arr3[] = {
    90,80,70,60,50,40,30,20,10 };
	for (int i = 0; i < 9; i++)
	{
   
		cout << arr3[i] << endl;
	}

	system("pause");

	return 0;
}

总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名

总结2:数组中下标是从0开始索引

5.1.2 一维数组-数组名

一维数组名称的用途

  1. 可以统计整个数组在内存中的长度
  2. 可以获取数组在内存中的首地址

示例:

#include<iostream>
using namespace std;

int main() {
   

	//数组名用途
	//1、可以获取整个数组占用内存空间大小
	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 << "\n" << endl;

	//2、可以通过数组名获取到数组首地址
	cout << "数组首地址为: " << arr << endl;//16进制显示
	cout << "数组首地址为: " << (int)arr << endl;//十进制
	cout << "数组中第一个元素地址为: " << (int)&arr[0] << endl;
	cout << "数组中第二个元素地址为: " << (int)&arr[1] << endl;//元素之间相差4字节

	//数组名是常量,因此不可以赋值
	//arr = 100; 

	system("pause");

	return 0;
}

总结1:直接打印数组名,可以查看数组所占内存的首地址

总结2:对数组名进行sizeof,可以获取整个数组占内存空间的大小

5.1.2.1 一维数组案例-五只小猪称体重

案例描述:
在一个数组中记录了五只小猪的体重,如:int arr[5] = {300,350,200,400,250};
找出并打印最重的小猪体重
分析——访问数组中每个元素,如果这个元素比我认定的最大值还要大,更新最大值
示例:

#include <iostream>
using namespace std;


int main() {
   

	//1.创建5只小猪的体重数组
	int arr[5] = {
    300,350,200,400,250 };

	//2.从数组中找到最大值
	int max = 0;//先认定一个最大值为0
	for (int i = 0; i < 5; i++)
	{
   
		cout 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值