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

  • 一维数组----任何一维数组均可以作为函数的实参。形参被改写为指向数组第一个元素的指针,

因此,需要一个约定来提示数组的长度,可是是一个额外的参数,或者是一个能够标识越界位置的结束符。

  • 二位数组----不能直接传递函数,但可以把矩阵改写为一个指针数组,并使用相同的下标表示方法,

如int *(my_array)[10]。对于字符串来说,这样做是可以的,对于其他类型,任然需要增加一个记数值

或者能够标识越界位置的结束符。

  • 三维或更多维的数组----都无法使用。必须把它分解为几个维数更少的数组。
时间: 2024-08-27 11:34:44

如何向函数传递一个数组?的相关文章

【转载】让c++ 函数返回一个数组

在c++中是不允许数组作为函数的返回值的 int [] someFunction( ); //ILLEGAL 要想实现函数返回一个数组,那返回对应数组里面类型的指针 you must return a pointer to the array base type and have the pointer point to the array. So, the function declaration would be as follows: int* someFunction( ); //Leg

c++函数返回一个数组

---恢复内容开始--- 调用某个函数时经常需要函数返回一个值,我们都知道c++ 的函数返回的是一个copy,所以当只返回一个值时不会出现什么问题,直接return一个copy就行了,但是如果返回一个数组,事情就变得有趣了,我最近就遇到了这个问题. 先附上代码吧: #include<iostream> using namespace std; //函数声明 int * fun1(); int * fun2(); void dispArr(int *arr ,int n); const int

让c++ 函数返回一个数组

让c++ 函数返回一个数组 在c++中是不允许数组作为函数的返回值的 int [] someFunction( ); //ILLEGAL 要想实现函数返回一个数组,那返回对应数组里面类型的指针 you must return a pointer to the array base type and have the pointer point to the array. So, the function declaration would be as follows:  int* someFun

C中怎么利用指针实现一个函数输入一个数组且输出一个数组

1 #include<stdio.h> 2 3 int num[]={1,3,5,45,67,18,64,82,34,62}; 4 5 int *pnum; 6 7 int *Fun(int *num);//该函数可以实现输入一个数组且输出一个数组的功能 8 9 void main() 10 { 11 char i=0; 12 //num=Fun(num);//这样写是错误的,因为num是一个指针常量,不能被赋值 13 pnum=Fun(num); 14 for(i=0;i<10;i++

C语言之实现函数返回一个数组,以及选择排序,还有折半查找。这是同学的一个作业。。。

作业的具体要求如下: 编写一个完整的程序,实现如下功能.(1)    输入10个无序的整数.(2)    用选择排序法将以上接收的10个无序整数按从大到小的顺序排序.(3)    要求任意输入一个整数,用折半查找法从排好序的10个数中找出该数,若存在,在主函数中输出其所处的位置,否则,提示未找到.提示:可定义input函数完成10个整数的输入,sort函数完成输入数的排序,search函数完成输入数的査找功能. 下面是具体代码:(本人懒,没写注释,不过仔细看代码,还是很简单的) 1 #inclu

函数传递一维数组

#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; }

javascript如何给事件处理函数传递参数

javascript如何给事件处理函数传递参数:在应用中可能需要给注册的事件处理函数传递参数,但是会发现好像无法实现直接传递,下面就简单介绍一下如何给事件处理函数传递参数.先看一段代码实例: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&

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

/* 方法调用的时候,也可以这样传递一个数组. */ 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;

php unserialize函数反序列话数组

有没有,遇到这种情况:使用serialize函数序列化一个数组后,然后想通过unserialize函数反序话,得到该数组,可是确报错,得不到想要的结果. 从网上搜索,发现很多网友都遇到相同的问题,好像说这是unserialize函数的bug. 不过,好在有人已经解决了,我就借花献佛,将他记录下来,供大家使用: 1.假如,是utf-8的数据,请使用下面的函数反序列化(我没有验证,可以尝试下) function mb_unserialize($serial_str) { $serial_str= p