数组与指针。

传首地址过去,然后通过地址输出数组元素。

1、一维数组

#include<iostream>
using namespace std;
#include <cstring>
void farray1(int array1[],int len)//注:此处是无法通过array1得到长度的,只能通过传参,因为其是数组首地址。
{
for(int i=;i<len;i++)
{
//cout<<array1[i]<<endl;
cout<<*(array1+i)<<endl;//因为传的是首地址,所以这两种方法都可以输出数组元素
}
} void farray2(int *array1,int len)//注:此处是无法通过array1得到长度的,只能通过传参,因为其是数组首地址。
{
for(int i=;i<len;i++)
{
//cout<<array1[i]<<endl;
cout<<*(array1+i)<<endl;//因为传的是首地址,所以这两种方法都可以输出数组元素 }
}
void main()
{
int marks[] = {, , , , };
int length1=sizeof(marks)/;
farray1(marks,length1);
farray2(marks,length1);
system("pause");
}

2、二维数组:

#include<iostream>
using namespace std;
#include <cstring>
void farray1(int array1[][],int len1,int len2)//注:此处是无法通过array1得到长度的,只能通过传参,因为其是数组首地址。
{
for(int i=;i<len1;i++)
{
for(int j=;j<len2;j++)
//cout<<array1[i][j]<<endl;
cout<<*(*(array1+i)+j)<<endl;//因为传的是首地址,所以这两种方法都可以输出数组元素
}
} void farray2(int (*array1)[],int len1,int len2)//注:要写明数组列数,不然无法传递
{
for(int i=;i<len1;i++)
{
for(int j=;j<len2;j++)
//cout<<array1[i][j]<<endl;
cout<<*(*(array1+i)+j)<<endl;//因为传的是首地址,所以这两种方法都可以输出数组元素
}
}
void main()
{
int marks[][] = {{, , },{ , , }};
int length1=sizeof(marks)/;//获得数组总长度
int length2=sizeof(marks[])/;//获得列数
int length3=length1/length2;//获得行数
farray1(marks,length3,length2);
farray2(marks,length3,length2);
system("pause");
}

C++函数传递数组的两种方式的更多相关文章

  1. Delphi过程函数传递参数的几种方式

    Delphi过程函数传递参数的几种方式  在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...

  2. 【delphi】Delphi过程、函数传递参数的八种方式

    Delphi过程函数传递参数的八种方式

  3. shell 函数传递参数的几种方式

    1.最近总结了 shell 中 function 的传递变量的几种方式 1.传递单个变量 2.传递数组变量   #!/bin/bash   #trying to pass an variable.   ...

  4. Delphi过程函数传递参数的八种方式

    今天一同事问我为什么有些过程函数里面有Var而有些没有,不解,遂到网上百度,得解.快哉,快哉. 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out.另一种不加修饰符的为默认按值传 ...

  5. .net 调用SAP RFC函数获取数据的两种方式

    方式1:使用客户端自带的组件 安装客户端以后,添加引用:SAPFunctionsOCX(.net 的Com列表里一般找不到,需要引用DLL[一般位于以下路径:Program Files\SAP\Fro ...

  6. hive 传递变量的两种方式

    在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...

  7. Spring使用JMS传递消息的两种方式

    方式一:同步收发消息,使用JMS template 消费者阻塞等待消息的到来. 方式二:异步收发消息,使用message listener container 消费者提供一个listener,注册一个 ...

  8. 向docker镜像中传递变量的两种方式

    测试用到的python文件: #!/usr/bin/env python3 #conding: utf-8 from http.server import HTTPServer, BaseHTTPRe ...

  9. hibernate createQuery查询传递参数的两种方式

    String hql = "from InventoryTask it where it.orgId=:orgId"; Session session = getSession() ...

随机推荐

  1. Flask-SQLAlchemy中解决数据库连接1366报错

    报错信息:Warning: (1366, "Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...' for column 'V ...

  2. 2018年九个很受欢迎的vue前端UI框架

    最近在逛各大网站,论坛,SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,小编自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做自己 ...

  3. mysql 插入更新在一条sql ON DUPLICATE KEY UPDATE

    有时候需要进行数据操作的,如果有数据则更新数据, 没有数据则插入. 以往的做法是先查询,再根据查询结果进行判断,执行插入或更新操作 其实 有一种 ON DUPLICATE KEY UPDATE 语法, ...

  4. 06005_Jedis入门

    1.Jedis介绍 (1)Redis不仅是使用命令来操作.现在基本上主流的语言都有客户端支持,比如Java.C.C#.C++.PHP.Node.js.Go等: (2)在官方网站里列有一些Java的客户 ...

  5. 2015 Multi-University Training Contest 6 hdu 5357 Easy Sequence

    Easy Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  6. QT 随笔

     1. 设置窗体属性,无边框 | 置顶 setWindowFlags(Qt::FramelessWindowHint); setWindowFlags(Qt::FramelessWindowHin ...

  7. Linux下配置httpd服务

    第一步拷贝 cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd 第二步,修改 vim /etc/rc.d/init.d/httpd # ...

  8. 转:如何在Ubuntu 14.04中安装最新版Eclipse

    想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Ec ...

  9. 前端学习笔记-CSS

  10. jqury中$("#div").index($this)在setTimeoutt中返回值一直是-1的问题解决方案

    今天遇到一个十分蛋疼的问题,花了我一个多小时才解决,其实十分简单,但我是新手,好了,事情是这样的: 我想让鼠标停留在某个元素一定时间再显示它隐藏的内容(不然你鼠标快速滑上滑下,反反复复,如果碰上sli ...