什么是C语言二维数组-创新互联
什么是C语言二维数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
目前创新互联公司已为近1000家的企业提供了网站建设、域名、网站空间、网站运营、企业网站设计、王益网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。数学中的行列矩阵,通常使用二维数组来描述,即用二维数组的第一维表示行,第二维表示列;生活中凡是能抽象为对象及对象的若干同类型属性的问题,一般用二维数组来描述。
例如,若表示一个班级学生的语文、数学、外语、C语言等4门课的成绩数据。该问题可把每个学生看成一个对象,用二维数组的第一维来表示,如果有50个学生,则可设定二维数组第一维的大小为50;成绩可看成每个对象的属性,且均可使用整型表示,可用二维数组的第二维来表示,每个对象(学生)含4个属性(4门课程),故第二维大小可设为4。
再比如,某公司若统计某产品的某个月份的销量数据,该问题可以把一周当成一个对象,一个月含4周,故4个对象,二维数组第一维可设为4;日销售量可看成每个对象的属性,可用二维数组的第二维表示,对象(每周)含有7个属性(7天的日销售量),故二维数组的第二维可设为7。
二维数组的定义
同一维数组一样,既支持C89标准的二维静态数组,又支持C99标准的二维动态数组或变长数组。某些C编译器还没更新到支持C99标准的语法,故可能在一些编译器中变长数组会报错。如无特殊说明,教程中所指二维数组,均默认为静态数组。
静态二维数组定义的一般格式为:
类型数组名[第一维大小][第二维大小];
其中,第一、二维的大小一般均为常量表达式。
例如:
inta[4][5];
定义了一个4行5列的int型二维数组a。
floatsc[3][4];
定义了一个3行4列的float型二维数组sc。
如下二维数组的定义形式均是错误的。
inta[][3];//错误。编译器无法确定所需空间
inta[2][];//错误。缺少列下标,编译器无法确定所需空间
动态数组例子如下(仅做了解)。
intn=2;
inta[n][3];//动态数组,正确的C99语法。但在某些编译器中可能报错
inta[2][n];//动态数组,正确的C99语法
定义时未初始化的数组,其数据元素的值一般为无意义的随机值,如:
inta[2][3];//该数组的6个元素均为随机值
可以把二维数组看成一个特殊的一维数组,它的每个元素又是一个一维数组。例如,定义一个表示3个学生4门课程成绩的二维数组:
intsc[3][4];
定义了一个3行4列的二维数组sc,该二维数组可表示3个对象(学生),从这个角度看,该二维数组可以看成含3个对象(学生)的一维数组,3个对象(元素)分别为:sc[0]、sc[1]、sc[2],其中sc为该一维数组名。
每个对象(元素)sc[i]又是一个包含4个属性(4门成绩)的一维数组,4个属性分别为:sc[i][0](语文)、sc[i][1](数学)、sc[i][2](外语)、sc[i][3](C语言)。每一行表示一个学生,每一列表示一门课程,形成如下所示的行列矩阵形式。
看完上述内容,你们掌握什么是C语言二维数组的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
网站栏目:什么是C语言二维数组-创新互联
本文网址:http://scjbc.cn/article/csopjj.html