函数传递一维数组

#include <iostream>
void fun(int* a, int num)
{
    for (int i = 0; i < num; ++i)
    {
        std::cout << a[i] << " ";
    }
}

int main()
{
    int a[5] = {0, 1, 2, 3, 4};
    fun(a, 5);//数组名弱化为指针
    return 0;
}
时间: 2024-08-07 08:40:10

函数传递一维数组的相关文章

如何向函数传递一个数组?

一维数组----任何一维数组均可以作为函数的实参.形参被改写为指向数组第一个元素的指针, 因此,需要一个约定来提示数组的长度,可是是一个额外的参数,或者是一个能够标识越界位置的结束符. 二位数组----不能直接传递函数,但可以把矩阵改写为一个指针数组,并使用相同的下标表示方法, 如int *(my_array)[10].对于字符串来说,这样做是可以的,对于其他类型,任然需要增加一个记数值 或者能够标识越界位置的结束符. 三维或更多维的数组----都无法使用.必须把它分解为几个维数更少的数组.

方法调用也可以传递一维数组

/* 方法调用的时候,也可以这样传递一个数组. */ public class ArrayTest06{ public static void main(String[] args){ //第一种方式 int[] a = {12,3,4,5,6}; m1(a); //第二种方式 m1(new int[]{34,5,6,7,8,10});//注意的是第二种方式,基本上以前没有遇见过. } public static void m1(int[] a){ for(int i=0;i<a.length;

一维数组和二维数组传出函数

#define LOCAL #include<cstdio> #include<cstdlib> #include<iostream> using namespace std; typedef int ElemType; const int maxSize=10; //传入函数的一维数组经过函数之后数组元素发生变化 int REV(int *a,int x,int y) { int i=x,j=y; while(i<j) { int temp=a[i]; a[i]

c语言一维数组做参数传递给函数:

今天碰到了一维数组做函数参数的问题,那就扒一扒这个问题: 首先抛结论: 1:C语言中,当一维数组做函数参数时,编译器总是把它解析成一个指向其首元素的指针. 2:实际传递的数组大小与函数形参指定的数组大小没有关系. 然后举例说明: 下面是一个元素交换函数,把数组array[i]和array[j]交换位置.注意看数组是怎么传递给函数的. 正确的写法1: 解释说明:编译器把array解析成指向整形元素的指针,也就是数组的首地址,方括号中加不加指定数字都可以,因为编译器根本不看,因此最好不写,以免引起误

C语言中数组名作为参数进行函数传递

用数组名作函数参数与用数组元素作实参有几点不同. 1) 用数组元素作实参时,只要数组类型和函数的形参变量的类型一致,那么作为下标变量的数组元素的类型也和函数形参变量的类型是一致的.因此,并不要求函数的形参也是下标变量.换句话说,对数组元素的处理是按普通变量对待的.用数组名作函数参数时,则要求形参和相对应的实参都必须是类型相同的数组,都必须有明确的数组说明.当形参和实参二者不一致时,即会发生错误. 2) 在普通变量或下标变量作函数参数时,形参变量和实参变量是由编译系统分配的两个不同的内存单元.在函

函数、内存、一维数组、二维数组【4】

  函数的定义 什么是函数? •函数就是定义在类中的具有特定功能的一段独立小程序. •函数也称为方法. 函数的格式: •修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)   {   执行语句;   return 返回值;   }   返回值类型:函数运行后的结果的数据类型.   参数类型:是形式参数的数据类型.   形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数.   实际参数:传递给形式参数的具体数值.   return:用于结束函数.   返回值

C语言结构体及函数传递数组参数示例

注:makeSphere()函数返回Sphere结构体,main函数中,调用makeSphere()函数,传递的第一个参数为数组,传递的数组作为指针. 版权声明:本文为博主原创文章,未经博主允许不得转载.

输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩 从大到小打印。三个功能(输入是一个函数,求平均分是一个函数,排序是一个 函数)都用函数实现,最后在main方法中调用。

/*5.输入6个人的成绩放入到一个一维数组中,然后打印出平均分,最后按成绩从大到小打印.三个功能(输入是一个函数,求平均分是一个函数,排序是一个函数)都用函数实现,最后在main方法中调用.*/ #include <stdio.h> int inputScore(){ int score; scanf("%d",&score); return score;} double avg(int scores[],int length){ int i,score = 0;

黑马程序员——c语言学习心得——函数传递二维数组

黑马程序员——c语言学习心得——函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.   变量定义的时候给变量初始化,这是保证不出错的一个很好的习惯.尤其是在指针的使用上,如果我们没有给指针初始化,就会出现野指针,该指针的指向并不是我们所希望的,一旦错误的释放了这个指针,就会发生内存的访问.那么如何初始化指针变量呢,一般有以下几种方法:   1.初始化空指针   int* pInteger=N