二维数组
_ 二维数组,就是在一维数组上,多加了一个维度;_
- 二维数组定义的四种方式:
建议:使用第二种更加直观,可提高代码的可读性;
且注意第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] << " ";
}
cout << endl;
}
- 用二维数组名查看其所占用内存空间
cout << "二维数组占用内存空间为:" << sizeof(arr) << endl;
cout << "二维数组第一行占用内存为:" << sizeof(arr[0]) << endl;
cout << "二维数组第一个元素占用内存为:" << sizeof(arr[0][0]) << endl;
cout << "二维数组行数为:" << sizeof(arr) / sizeof(arr[0]) << endl;
cout << "二维数组列数为" << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;
- 用二维数组名查看二维数组的首地址
cout << "二维数组首地址为:" << (int)arr << endl;
cout << "二维数组第一行首地址为:" << (int)arr[0] << endl;
cout << "二维数组第一个元素首地址:" << (int)&arr[0][0] << endl;
cout << "二维数组第二个元素首地址:" << (int)&arr[0][1] << endl;
函数
作用:将一段经常使用的代码封装起来,减少重复代码;
一个较大的程序,一般分为若干程序块,每个模块实现特定的功能;
- 函数的定义:
- 函数的定义一般主要有5个步骤:
1.返回值类型;一个函数可以返回一个值;在函数中定义;
2.函数名;给函数起个名称;
3.参数列表;使用该函数时,传入的数据;
4.函数体语句;花括号内的代码,函数内需要执行的语句;
5.return表达式:和返回值类型挂钩,函数执行完后,返回相应的数据;
函数语法:
了解形参与实参
当调用函数的时候,实参的值会传递给形参;
//定义加法函数
//函数定义时,num1和num2并没有真实的数据;
//他只是一个形式上的参数,简称形参;
int add(int num1,int num2) {
int sum = num1 + num2;
return sum;
}
int main() {
int a = 3, b = 5,c;
//main函数中调用add函数
//a和b称为实际参数,简称实参
c = add(a, b);
cout << c << endl;
system("pause");
return 0;
函数的声明:
作用:告诉编译器函数名称及如何调用函数,函数的实际主体可以单独定义;
- 函数的声明可以多次,但是函数的定义只能有一次;
//提前告诉编译器函数的存在,可以利用函数的声明;
//声明
int max(int num1, int num2);
int main() {
int a = 1, b = 5,Max;
Max=max(a, b);
cout << Max<<endl;
system("pause");
return 0;
}
//函数的定义——如果定义写在main函数的后面,则要在main函数前进行函数的声明;
int max(int num1, int num2) {
return num1 > num2 ? num1 : num2;
}
函数的分文件编写
作用:让代码结构更加清晰;
- 函数分文件编写一般有4个步骤:
1.创建后缀名为.h的头文件;
2.创建后缀名为.cpp的源文件;
3.在头文件中写函数的声明;
4.在源文件中写函数的定义;
例:实现找两个数的最大值:
max.h头文件编写
//max.h头文件
#include<iostream>
using namespace std;
//函数的声明
int max(int num1, int num2);
max.cpp源文件编写
//max.cpp源文件
//引入头文件
#include"max.h"
//函数的定义
int max(int num1, int num2) {
cout << "大值为:";
return num1 > num2 ? num1 : num2;
}
main.cpp源主文件(调用)编写
#include<iostream>
using namespace std;
//引入头文件
#include"max.h"
int main() {
int a = 1, b = 5,Max;
Max=max(a, b);
cout << Max<<endl;
system("pause");
return 0;
}