函数参数的传递
函数的形参是实参的一个拷贝,且形参的改变不会影响到实参(除非形参类型是数组、引用或对象)
一维数组作为函数的参数时的写法如又:类型名 数组名[ ]。例如:void PrintArray(int a[ ]) { }。
数组作为函数参数时,是传引用的,即形参数组改变了,实参数组也会改变。
函数作为参数例子----把一维数组中的所有元素置零:
#include<iostream>
#include<cstdio>
using namespace std;
void SetToZero(int a[], int length);
int a1[4] = {1,2,3,4};
int a2[] = {1,2,3,4};//定义数组并初始化时可以不用定义数组长度
int main()
{
SetToZero(a1, sizeof(a1)/sizeof(int));
for(int i=0;i<sizeof(a1)/sizeof(int);i++)//获得a1数组长度的小技巧:length = sizeof(a1)/sizeof(int)
printf("%d", a1[i]);
printf("\n");
SetToZero(a2, sizeof(a2)/sizeof(int));
for(int i=0;i<sizeof(a2)/sizeof(int);i++)
printf("%d", a2[i]);
return 0;
}
void SetToZero(int a[], int length)
{
for(int i=0;i<length;i++)
a[i] = 0;
}
二维数组作为函数的参数:
二维数组作为形参时,必须写明数组有多少列,不用写明有多少行,例:
void PrintArray(int a[][5]) { cout<<a[4][3]; }
a[i][j]的地址:数组首地址+i*N*sizeof(a[0][0])+j*sizeof(a[0][0]) (N是数组的列数)
形参数组的首地址就是实参数组的首地址
原文地址:https://www.cnblogs.com/arthur-f/p/11449167.html
- Vuejs和其他前端框架的对比
- 详述 IntelliJ IDEA 中恢复代码的方法
- C# 通过IEnumberable接口和IEnumerator接口实现自定义集合类型foreach功能
- 微信小程序之picker组件
- 详述 IntelliJ IDEA 中恢复代码的方法「进阶篇」
- mac环境下mongodb的安装和使用
- C# 终极基类Object介绍
- EF基础知识小记五(一对多、多对多处理)
- 字符串的方法汇总
- Kotlin和anko融合进行Android开发
- EF基础知识小记六(使用Code First建模自引用关系,常用于系统菜单、文件目录等有层级之分的实体)
- Vue.js简介
- Kotlin之Elvis 操作符
- C# 文件操作系列一
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 测试 APP 抓不到数据包该怎么办
- 手把手教你搭建SSM框架(Eclipse版)
- 【手把手教你】使用pyfinance进行证券收益分析
- [English] Creating a New Theme
- 脏读,不可重复读,幻读
- 建议收藏!这份MySQL 连接查询超全详解送给你
- Redis点赞新思路 bitmap
- PyQt5 技术篇-调用字体对话框(QFontDialog)获取字体,控件设置字体。
- deepin使用
- 解决deepin下安装sqlite3依赖过新的问题
- PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
- deepin安装golang
- PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。
- Python+selenium 自动化-通过窗口名切换窗口,如何获取当前窗口的title窗口名
- deepin 任务栏消失问题