C++数组作为函数参数
记录学习过程8
1.数组元素作为函数参数————值传递形式
#include <iostream>using namespace std;int func(int n);
int main()
{int a[5] = { 1,5,7,9,17 };cout << "数组元素作为函数实参进行传递后的结果:" << endl;for (int i = 0; i < 5; i++){a[i] = func(a[i]); //转到函数func()进行计算cout << a[i] << endl;}return 0;
}int func(int n)
{n *= n;return n;
}
数组元素作为函数实参进行传递后的结果:
1
25
49
81
289
2.数组名作为函数实参————地址传递参数形式
#include <iostream>using namespace std;void func(int array[],int n);
int main()
{int a[5] = { 1,5,7,9,17 };cout << "数组元素作为函数实参进行传递后的结果:" << endl;func(a,5);for (int i = 0; i < 5; i++){cout << a[i] << endl;}return 0;
}void func(int array[],int n)
{for (int j = 0; j < n; j++)array[j] *= array[j];}
数组元素作为函数实参进行传递后的结果:
1
25
49
81
289
//复制于'Ecalpal'网友的补充:
C++数组作为函数参数传递的两种方法,数组元素作函数参数的方法不return就会报错,数组名作函数的却不会是为什么?
1.函数定义一般以
返回类型 函数名(形参){};
形式出现,int func(int a,int b) {}这样的是有返回值有形参,这种函数存在的意义是外部有变量要传递进来做处理。
我的理解是调用该函数的时候,会为函数的形参分配内存,函数调用结束后,形参的内存会被释放,所以要return。
2.实参变量对形参变量的数组传递是值传递,是单向的,不能形参传给实参;
但是数组名作为函数参数时,实际上是地址传递,不是值传递,会把实参数组的首地址传递给形参,这样实参和形参地址指向就一样了,所以可以理解为双向传递,与普通变量的差别就在此。
C++数组作为函数参数相关推荐
- shell 使用数组作为函数参数的方法
使用shell开发一些小工具,当使用数组作为函数参数时,发现只能传递数组的第一个元素,数组后面的元素不能传递到函数内. #!/bin/bashfunction showArr(){arr=$1for ...
- 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...
- 数组作为函数参数进行传递
今天编程序时发生了个这样的错误: 在头文件里 定义了一个数组: View Code 1 char s[]="1234567890"; 又定义了一个现显示组的函数: View Cod ...
- C-指针,二级指针,二维数组作为函数参数使用,C语言链表(详解)
一级指针 int *p; //表示定义一个int型(4字节)的指针p &p //表示p自身的地址位置 p ...
- ajax参数中字符串最大长度_6.7 C++数组名作函数参数 | 求3*4矩阵中最大的值
C++用数组元素作函数实参 C++中实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实参,与用变量作实参一样,将数组元素的值传送给形参变量. C++也可以用数组名作函数参 ...
- C语言多维数组做函数参数技术推演
多维数组做函数参数技术 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) 二维数组参数同样存在退化的问题 等价关系 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) int ...
- C语言多维数组做函数参数退化原因大剖析
多维数组做函数参数退化原因 多维数组做函数参数退化原因大剖析 多维数组做函数参数退化原因大剖析 //证明一下多维数组的线性存储 //线性打印 void printfArray411(int *arra ...
- C语言中数组做函数参数的问题
数组做函数参数,会退化成为一个指针变量.因此在进行数组参数传递的同时,需要传递一个数组长度的参数变量. 数组长度可以通过sizeof(arr)/siezof(arr[0])来得到.关于这个sizeof ...
- java 11:数组作为函数参数,数组做为函数返回值
1 数组作为参数 我们可以将数组作为参数,传入到函数中,其实就像我们main函数中 public void main(String [] args){};就是用数组作为函数参数: 又如, [java] ...
- 二维数组作为函数参数
#include<stdio.h> //#include<> //二位数组作为函数参数时,可以不指定第一个下标 void print_buf(int (*p)[3],int a ...
最新文章
- 算术运算的RTL代码规则总结
- CDH- 集群时间同步ntp问题解决
- PMCAFF微课堂 | 运营女神揭秘产品运营推广中的场景思维
- php data 算出差几天,出差天数一般怎么算。。。
- IOS 关于ipad iphone5s崩溃 解决
- 我需要用的Jupyter Notebook快捷键
- 石头剪刀布python编程_《python核心编程第二版》练习题——游戏:石头剪刀布
- Spring Boot (八)MyBatis + Docker + MongoDB 4.x
- 工信部:手机预装软件下月起须报备审核
- 写代码时发现......还是SpringBoot牛逼!
- python自定义异常_Python自定义异常
- 你的项目应该如何分层?
- PTA 数据结构题集
- 电信sdn虚拟服务器,数据中心SDN网络的构建及通信业务与光纤引入
- unity3d计算两点之间距离的方法
- 样本调试之 loadlibrary 报错1114
- YOLO v3源码详解
- 油猴插件安装以及好用的脚本推荐
- 海南安全员A证怎么考多选题库
- SMOTE-IPF:通过带滤波的重采样方法解决不平衡分类中的噪声和边界样本问题