文档章节

数组作函数参数传递和函数返回值

ucliaohh
 ucliaohh
发布于 2015/08/28 14:33
字数 267
阅读 10
收藏 0

一、一维数组

如果要将数组a[]传递给函数fun(),这个函数的定义中形参需要这样定义 

void  funint a[] ) 或者 void fun (int a[长度]) 调用的时候就可以直接使用funa)

#include<>

int a[3]={5,3,2};

int *p(int a[])
{
    a[0]=a[2];
    return a;
}

int main()
{
    int i;
    int *b=p(a);
    for(i=0; i<3; i++)
    printf("%d ",b[i]);
    return 0;
}

 


   二、二维数组

如果要将数组a[][]传递给函数fun(),这个函数的定义中形参需要这样定义 

void  funint a[][6] )  调用的时候就可以直接使用funa)。

例:用typedef  定义一个新的类型

#include<> 
typedef  int(*aa)[2];
int arr[3][2],i,j;

aa Exchange(int arr[][2])
{
    int array[2][3]={{3,7,1},{9,4,2}};
    for (i=0; i<=1; i++)
    {
        for(j=0; j<=2; j++)
        {
            arr[j][i] = array[i][j];
            printf("%d ",array[i][j]);
        }
        printf("\n");
    }
    return arr;
}
int main()
{
    int(*p)[2];       //一个二维数组的用法
    p = Exchange(arr);
    printf("输出数组\n");
    for (i=0; i<=2; i++)
    {
        for(j=0; j<=1; j++)
        {
            printf("%d ",p[i][j]);
        }
        printf("\n");
    }
    return 0;
}

 

本文转载自:

ucliaohh
粉丝 4
博文 121
码字总数 61946
作品 0
其它
高级程序员
私信 提问
C语言函数讲解(一)

C语言函数(一) 谨记 短暂的人生中,注定有很多人陪伴着你度过,陪你一起欢呼,陪你一起伤心流泪,陪你一起走过一条又一条的街道,或许他们并不是真真切切的,但是至少他们还在你身边。这个...

长风留言
2017/11/18
0
0
exec函数族的使用

调用shell脚本命令:execlp("sh","sh","filename",(char*)0); exec用被执行的程序完全替换调用它的程序的影像。fork创建一个新的进程就产生了一个新的PID, exec启动一个新程序,替换原有的进......

晨曦之光
2012/03/09
127
0
为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?

JavaScript Puzzlers! 被称为 javascript 界的专业八级测验,感兴趣的 jser 可以去试试。 我试了一下, 36 道题只做对了 19 道, 算下来正确率为 53%,还没有及格。 第一题为 ["1", "2", "3"......

justjavac
2014/02/19
1K
3
es 5 数组reduce方法记忆

方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值。 概念:对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回...

蓓蕾心晴
2017/06/15
0
0
JavaScript 中 forEach、map、filter 详细

没有时间?直接看重点! 1、 和 能实现的功能相似 2、 、 、 都能实现对原数组的修改 3、 没有返回值, 有返回值, 有返回值 forEach 方法对数组的每个元素执行一次提供的函数。 语法: forE...

NeverYu
03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部