4、数组与函数

4.1 数组

4.1.1 一维数组

定义方式

int arr[10];//输出内存中原本存储的值?
int arr[10]={1,2,3};//不满的自动赋初始值 int 0
int arr = {1,2,3};

cout<<arr; 输出数组首地址
cout<<&arr[0]; 输出元素首地址
sizeof(arr) 整个数组所占长度

数组名是常量不可以修改,例如 int arr[10]; arr=10;会报错

4.1.2 二维数组

定义方式

int arr[2][3];//输出内存中原本存储的值?
int arr[2][3]={{1,2,3}};//不满的自动赋初始值 int 0
int arr[2][3] = {1,2,3};
int arr[][3] = {1,2,3};//可以省略行

4.2 函数

4.2.1 函数的格式

int sum(int a,int b){
	return a+b;
}

需要注意的是函数的定义需要再调用之前,因此可以将函数书写在调用之前或者采用声明的方式 eg int sum(int a,int b);告诉编译器该函数存在

#include<iostream>
using namespace std;

int add(int a[2], int b[2]);

int main() {
	int arr1[2] = { 1,2 };
	int arr2[2] = { 1,2 };
	int k = add(arr1, arr2);
	cout << arr1[0];
	system("pause");
	return 0;
}
int add(int a[2], int b[2]) {
	a[0] = 9;
	return 0;
}

4.2.2 函数集成在其他文件中怎么引用(函数分文件)

  1. 在“头文件”中创建.h后缀名的头文件
    在这里插入图片描述
  2. 在“源文件”中创建.cpp后缀名的源文件
    在这里插入图片描述
  3. 在.h中写函数声明
    在这里插入图片描述
  4. 在.cpp文件中定义函数
    在这里插入图片描述
  5. 在使用文件中引用头文件 #include"myfunc.h"
    在这里插入图片描述

4.2.3 函数的默认参数

函数的默认参数声明和实现不能同时有,即要么实现有默认参数,要么声明有默认参数。

4.2.4 函数的占位参数

void func(int a, int){

}
/*
void func(int a, int=10){

}
*/
int main{
	func(10,10);
}

4.2.5 函数的重载

需要满足的条件:

  • 同一个作用域下
  • 函数名相同
  • 函数参数类型不同、数量不同或者顺序不同
void func(int a){

}
void func(int a, int b){

}

引用也可以作为重载的条件

void func(int &a){
	// 1
}
void func(const int &a){
	// 2
}
int main{
	int a=10;
	func(a);// 调用1
	func(10);// 调用2
}

函数重载碰到默认参数时容易出现问题,例如

void func(int a, int b=10){
	// 1
}
void func(int a){
	// 2
}

会导致编译器不明确该调用哪个实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值