c语言中什么是二维数组

您所在的位置:网站首页 c语言键盘输入二维数组 c语言中什么是二维数组

c语言中什么是二维数组

#c语言中什么是二维数组| 来源: 网络整理| 查看: 265

c语言中什么是二维数组 时间:2017-05-24 13:44:51 欧东艳656由 分享

  二维数组A[m][n],这是一个m行,n列的二维数组。以下是由学习啦小编整理关于c语言二维数组的内容,希望大家喜欢!

  c语言的二维数组

  设a[p][q]为A的第一个元素,即二维数组的行下标从p到m,列下标从q到n,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

  LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

  按“列优先顺序”存储时,地址计算为:

  LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

  存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节

  二维数组又称为矩阵,行列数相等的矩阵称变方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵的所有非零元素都集中在主对角线上.

  二维数组在概念上是二维的,但在内存中地址是连续的,也就是说存储器单元是按一维线性排列的。那么,如何在一维存储器中存放二维数组呢?有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。

  在C语言中,二维数组是按行排列的。也就是先存放a[0]行,再存放a[1]行,最后存放a[2]行;每行中的四个元素也是依次存放。数组a为int类型,每个元素占用4个字节,整个数组共占用4×(3×4)=48个字节。

  【示例】一个学习小组有5个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。

  可设一个二维数组a[5][3]存放五个人三门课的成绩。再设一个一维数组v[3]存放所求得各分科平均成绩,设变量average 为全组各科总平均成绩。编程如下:

  #include int main(){ int i, j; //二维数组下标 int sum=0; //当前科目的总成绩 int average; //总平均分 int v[3]; //各科平均分 int a[5][3]; //用来保存每个同学各科成绩的二维数组 printf("Input score:\n"); for(i=0; i



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3