多维数组

#include <stdio.h>
#include <stdlib.h>
#define STUDENTS 3
#define EXAMS 4

void printArray(int a[][EXAMS],int pupils,int tests)//打印一个二维数组
{
    int i,j;
    printf("                   [0]  [1]  [2]  [3]");
    for(i=0;i<pupils;i++)
    {
        printf("\nstudentGrade[%d] ",i);
        for(j=0;j<tests;j++)
            printf("%5d",a[i][j]);
    }
};

int main()
{
    int studentsGrade[STUDENTS][EXAMS]={{77,68,86,73},{96,87,89,78},{70,90,86,81}};
    printf("The array is:\n");
    printArray(studentsGrade,STUDENTS,EXAMS);
    return 0;
}

函数的定义把数组参数指定为int a[][3].当把一个一位数组作为某个函数的参数时,在函数参数列表中,数组的方括号是空的,对多维数组来说,第一个下标也是不必要的,但是要给出其后所有的下标。编译器要用这些下标确定这些元素在内存中的位置。不管数组的下标有多少个,所有的元素在内存中都是连续存放的。对于二维数组来说,第二行元素是接着第一行元素存放的。

posted @ 2013-03-08 13:26  天晴会下雨  阅读(112)  评论(0编辑  收藏  举报