数组与指针。

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

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. C++ STL - queue使用详解

    c++队列模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. 下面详细介绍 ...

  2. nyoj11-奇偶数分离

    奇偶数分离 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 有一个整型偶数n(2<= n <=10000),你要做的是:先把1到n中的所有奇数从小到大输出,再 ...

  3. EhCache缓存页面、局部页面和对象缓存

    页面缓存:SimplePageCachingFilter web.xml <!-- 页面缓存配置,配合ehcache.xml中name为“SimplePageCachingFilter”(默认值 ...

  4. xunsearch实战经验总结

    一.定义好配置文件(非常关键) a):如果需要做精确搜索建议对字段设定index=self,tokenizer = full,不然xunsearch会对字段做分词处理: b):数字区间搜索需设定 ty ...

  5. BA-siemens-insight使用问题汇总

    insight安装完成后不要修改windows时间 1.如果在完成软件安装及授权后,更改了系统的时间,则软件会判断您电脑的时间已经更改,软件将无法启动,所以在软件完成正确安装后,禁止修改系统时间.更改 ...

  6. Web安全扫描工具

    使用 Ibm security appscan  进行WEB安全扫描. 1.SQL注入: 2.发现内部IP泄露模式: 3.已解密的登录请求: 4.HTML注释敏感信息泄露:

  7. GA求解TSP

    遗传算法中包含了如下5个基本要素: (1)对参数进行编码: (2)设定初始种群大小: (3)适应度函数的设计: (4)遗传操作设计: (5)控制参数设定(包括种群大小.最大进化代数.交叉率.变异率等) ...

  8. angularjs1-过滤器

    <!DOCTYPE html> <html> <body> <header> <meta http-equiv="Content-Typ ...

  9. js 获取手机浏览器类型,修改css文件的class的值

    /*========================================= 函数功能:获取浏览器类型 =========================================*/ ...

  10. iOS~判断应用是否有定位权限

    在特定场景下我们需要判断用户是否允许应用获取定位权限 1.导入类库: #import <CoreLocation/CLLocationManager.h> 2.判断用户手机是否开启了定位服 ...