码迷,mamicode.com
首页 > 编程语言 > 详细

二维数组与函数

时间:2015-02-02 00:30:19      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:

/*----------------计算各行、各列及所有元素的值--------------*/

#include<stdio.h>
#define ROWS 3
#define COLS 4
void sum_rows(int ar[][COLS],int rows);
void sum_cols(int [][COLS],int);
int sum2d(int (*ar)[COLS],int rows);
int main()
{
    int junk[ROWS][COLS]={
            {2,4,6,8},
            {3,5,7,9},
            {12,10,8,6}
    };
    sum_rows(junk,ROWS);
    sum_cols(junk,ROWS);
    printf(" Sum of all the elements = %d\n",sum2d(junk,ROWS));
    return 0;
}
void sum_rows(int ar[][COLS],int rows)
{
    int r;
    int c;
    int tot;
   
    for(r=0; r<rows; r++)
    {
        tot=0;
        for(c=0; c<COLS; c++)
            tot += ar[r][c];
        printf("row %d: sum = %d\n",r,tot);
    }
}
void sum_cols(int ar[][COLS],int rows)
{
    int r;
    int c;
    int tot;

    for(c=0; c<COLS; c++)
    {
        tot=0;
        for(r=0; r<rows; r++)
            tot += ar[r][c];
        printf("col %d: sum = %d\n",c,tot);
    }
}
int sum2d(int ar[][COLS],int rows)
{
    int r;
    int c;
    int tot=0;

    for(r=0; r<rows; r++)
        for(c=0; c<COLS; c++)
            tot += ar[r][c];
        return tot;

}
技术分享

总结:这是通过指针方式传值,int  ar[][COLS]是一个指针,表示一个由4个int值构成的数组的指针,即该指针指向一个包含4个int值的数组。还有一种方式是int (*ar)[COLS]。

注:二维数组中传值的两种函数的参数形式为:void sum_rows(int ar[][COLS], int rows); int sum2d(int (*ar) [COLS], int rows),还有一种就是用变长数组的形式。

二维数组与函数

标签:

原文地址:http://www.cnblogs.com/guangliang/p/4266614.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!