| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3621 人关注过本帖
标题:调用函数写的是一维数组,如果传递的是二维数组,怎么调用?
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 10楼 公子世无双·
以下是引用公子世无双·在2017-1-7 18:23:02的发言:

b[2]也可以吧


输出b[2][0]的值看看~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-01-07 18:35
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:5 
mb=findmax(      ,6); 这个6说明了什么,是2*3、3*2、1*6、6*1 ?
2017-01-07 20:46
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:5 
b[0]或者&b[0][0]或者*b或者(int*)b

Code is my life.
2017-01-07 21:29
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 

二维数组做函数参数的几种情况

#include <stdio.h>

void _fun1(int a[2][3])
{
    printf("_fun1:\n");
    int i,j;
    for (i=0; i<2; i++)
    {
        for (j=0; j<3; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
    printf("\n");
}

void _fun2(int a[][3], int n)
{
    printf("_fun2:\n");
    int i,j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<3; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
    printf("\n");
}

void _fun3(int (*a)[3], int n)
{
    printf("_fun3:\n");
    int i,j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<3; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
    printf("\n");
}

void _fun4(int *a, int n, int m)
{
    printf("_fun4:\n");
    int i,j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
            printf("%d ", *(a+m*i+j));
        printf("\n");
    }
    printf("\n");
}

void _fun5(int *a[], int n, int m)
{
    printf("_fun5:\n");
    int i,j;
    for (i=0; i<n; i++)
    {
        for (j=0; j<m; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
    printf("\n");
}

void _fun6(int *a, int n)
{
    printf("_fun6:\n");
    int i;
    for (i=0; i<n; i++)
        printf("%d ", a[i]);
    printf("\n");
}

main()
{
    int a[2][3]= {1,2,3,4,5,6};
    _fun1(a);
    _fun2(a, 2);
    _fun3(a, 2);
    _fun4(*a, 2, 3);
    int i, *b[2];
    for(i=0; i<2; i++)
        b[i] = a[i];
    _fun5(b, 2, 3);   
    _fun6(*a, 6);
}
2017-01-07 22:16
快速回复:调用函数写的是一维数组,如果传递的是二维数组,怎么调用?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037755 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved