C++函数传递数组的两种方式
数组与指针。
传首地址过去,然后通过地址输出数组元素。
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++函数传递数组的两种方式的更多相关文章
- Delphi过程函数传递参数的几种方式
Delphi过程函数传递参数的几种方式 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...
- 【delphi】Delphi过程、函数传递参数的八种方式
Delphi过程函数传递参数的八种方式
- shell 函数传递参数的几种方式
1.最近总结了 shell 中 function 的传递变量的几种方式 1.传递单个变量 2.传递数组变量 #!/bin/bash #trying to pass an variable. ...
- Delphi过程函数传递参数的八种方式
今天一同事问我为什么有些过程函数里面有Var而有些没有,不解,遂到网上百度,得解.快哉,快哉. 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out.另一种不加修饰符的为默认按值传 ...
- .net 调用SAP RFC函数获取数据的两种方式
方式1:使用客户端自带的组件 安装客户端以后,添加引用:SAPFunctionsOCX(.net 的Com列表里一般找不到,需要引用DLL[一般位于以下路径:Program Files\SAP\Fro ...
- hive 传递变量的两种方式
在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...
- Spring使用JMS传递消息的两种方式
方式一:同步收发消息,使用JMS template 消费者阻塞等待消息的到来. 方式二:异步收发消息,使用message listener container 消费者提供一个listener,注册一个 ...
- 向docker镜像中传递变量的两种方式
测试用到的python文件: #!/usr/bin/env python3 #conding: utf-8 from http.server import HTTPServer, BaseHTTPRe ...
- hibernate createQuery查询传递参数的两种方式
String hql = "from InventoryTask it where it.orgId=:orgId"; Session session = getSession() ...
随机推荐
- Python 使用matplotlib模块模拟掷骰子
掷骰子 骰子类 # die.py 骰子类模块 from random import randint class Die(): """骰子类""&quo ...
- Python编程:从入门到实践 - matplotlib篇 - Random Flow
随机漫游 # random_flow.py 随机漫游 import random class RandomFlow(): """一个生成随机漫游数据的类"&qu ...
- Trie树检索字符串
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct TrieNode ...
- Google NewSQL之Spanner
谷歌分布式三宝 BigTable.GFS.MapReduce这传说中的谷歌分布式三驾马车,虽然谷歌没有公开具体实现代码,但却公布了相应论文,对分布式文件系统.大数据挖掘和NoSQL流行起了重大促进作用 ...
- mongodb--linux下的安装
linux下ubuntu的安装及启动 sudo apt-get upgrade sudo apt-get udpate sudo apt-get install mongodb 用 命令查看一下mon ...
- CF 567D(One-Dimensional Battle Ships-二分)
D. One-Dimensional Battle Ships time limit per test 1 second memory limit per test 256 megabytes inp ...
- HDU 1171 Big Event in HDU(多重背包)
Big Event in HDU Problem Description Nowadays, we all know that Computer College is the biggest depa ...
- java-类生命周期(二)
上文介绍了java-类生命周期(一),理论性比較强.认为太复杂的同学,瞟一下本文的样例加深理解. 先给道题目,看看答对没. /** * 类载入试验基类 * * @author peter_wang * ...
- HDU 2181 DFS
Problem Description 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每一个城市刚好一次后回到出发的城市. Input 前20行的第i行有3 ...
- kentico7中设置网站的主页
打开SiteManager,选择Settings,然后左上角选择具体的网站,Content,Web Site Content,Default alias path