四、C++常用的知识-3(数组和函数)

本文介绍了C++中的数组概念,包括一维数组的定义、大小计算及元素间的内存间隔。还详细讲解了冒泡排序算法的实现,并展示了排序前后的数组状态。接着探讨了二维数组的定义和使用特点。最后,概述了函数的定义、调用、值传递方式以及函数声明和分文件编写的基本原则。
摘要由CSDN通过智能技术生成

8. 数组

  1. 数组是放在一段连续的内存空间内;
  2. 数组内的每一个元素都是相同类型;
  3. 如果不告诉C++有多少个元素,是不合法的。

8.1 一维数组

在这里插入图片描述

例如:string name[] = { “张三”,“李四”,“王五” };
在这里插入图片描述

1.Sizeof(数组名),整个数组占用多少字节
Sizeof(arr[0]),数组的元素占用多少字节;
相除之后可以得到元素个数。
2.数组名代表首地址,是一个地址,arr和&arr[0]是一样的意思。
第一个元素和第二个元素相差四个字节。
代码运行效果如下:
在这里插入图片描述

8.2 冒泡排序法

在这里插入图片描述
在这里插入图片描述

代码以及运行结果如下:

int arr[] = { 3,2,1,2,2,7,8,9,6,0 };
int start = 0, end = sizeof(arr) / sizeof(arr[0]) - 1, temp=0;
	for (int i = 0; i <= end; i++)
		cout << arr[i] << "  ";
	cout << endl;
	for (int i = 0; i < end; i++)
	{
		for (int j = 0; j < end - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}	
		}
	}
	for (int i = 0; i <= end; i++)
		cout << arr[i] << "  ";
	cout << endl;

在这里插入图片描述

8.3 二维数组

在这里插入图片描述

定义的时候可以省去列数,但是不可以省去行数。
二维数组名称的用途:
在这里插入图片描述

数组名字,以及数组行名都是代表地址,只有当两个下表全都有的时候,才代表某个元素具体值。
代码运行结果如下:
在这里插入图片描述

9. 函数

9.1 函数的定义

在这里插入图片描述

如果一个函数不需要返回值,可以用void类型。

在这里插入图片描述
在这里插入图片描述

9.2 函数调用

如下:
在这里插入图片描述

9.3 值传递

在这里插入图片描述

形参和实参都有各自的内存空间,
实参只是将自己的值传给形参,当处理形参时,并不会改变实参的值。
原理如下:
在这里插入图片描述

9.4 函数的常见样式

在这里插入图片描述

9.5 函数的声明

在这里插入图片描述
在这里插入图片描述

9.6 函数的分文件编写

在这里插入图片描述

  1. 添加头文件
    在这里插入图片描述

  2. 添加cpp文件
    在这里插入图片描述

这里的cpp文件添加的头文件是用的双引号,说明这个头文件使我们自己创建的。
3. 添加声明:
add.h中并没有ifndefine。因为头文件多次编译并没有报错,只是影响了编译速度。
在这里插入图片描述

  1. 使用函数
    当我们使用函数时,只需要包含相应的头文件即可

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

花开明山

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

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

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

打赏作者

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

抵扣说明:

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

余额充值