二维数组回形遍历c语言 为什么我觉得C语言中二维数组没用,明明两个一维数组就能解决,为什么要有二维数组存在?
为什么我觉得C语言中二维数组没用,明明两个一维数组就能解决,为什么要有二维数组存在?
我也来说说。
C语言没有专门的二维数组
首先,C语言中,基本类型里有“数组”,也就是一维数组。而我们平时所说的二维数组是元素为数组的数组,其实是一种用一维数组对二维数组的模拟。
一维数组可以解决多维问题
从底层实现来说,无论是一维数组、二维数组还是多维数组,在内存中都是以一维方式排列的。而多维数组也是用一维数组模拟实现的。从这一点来说,一维数组就能解决多维数组的问题。常见的模拟方式:
将 二维数组a[m][n]表示为一维数组a[m*n]
用a[y*n x]代替a[y][x]
注意这里是用一个一维数组代替二维数组,而不是用两个一维数组代替二维数组
多维数组有其存在的必要
从代码清晰易读的角度来说,二维数组、多维数组是有意义的。有许多数据是适合用二维数组或多维数组表示的。以适合的方式表示数据,算法的编写也会简洁明了。典型的适合二维数组表示的数据如平面图形、矩阵。用二维数组表示,程序清晰易读;如果用一维数组表示,其可读性就会低不少。
相对于汇编语言,C提供了一定的数据抽象,如数组、结构体(struct)、联合(union)。其实没有这些抽象,程序照样能编。但C语言的好处就在这里,它提供的抽象程度,非常适合系统级程序开发和维护。如果觉得C语言提供的抽象程度过高,也许汇编更适合您的项目,如果觉得C语言提供的抽象程度过低,那选择就多了,从C ,Java到现在的各种新语言,都可以尝试更换。
c语言初学二维数组问题?
定义方法
数组类型 数组名称 [一维长度] [二维长度]
使用方法
循环嵌套 常用for循环 双层嵌套循环对数 组进行遍历
二维数组回形遍历c语言 c语言用指针遍历二维数组 for循环遍历二维数组
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。