当前位置:编程学习 > C/C++ >>

C语言二维数组

那位大哥帮忙介绍下C语言二维数组原理,
答案:      二重指针,首先你要有数组的概念,数组就是一片连续的存储地址,一维的情形用一个指针来实现对数组中数据的引用。如 int a[10];这句话实际是在内存中申请了10个连续的地址块,每块地址可以用来存储一个int型数据。而a就是用来引用数据的指针,比如a[2],实际就引用了第三块地址(从0开始)。
      而二维数组和一维的原理是一样的也是连续的地址块,只是引用的方式不一样,术语上讲就是二重指针;int a[3][3],开辟了9个int的连续地址,a不能直接引用其中的某一块a,你可以把它看做是矩阵,a[0]是指向第一行,第一行可以看做数组,那么a[0]就是一维数组的指针,a[0][1]就表示第一行那个一维数组中的第二个元素;类似a[1][2]就表示第二行那个一维数组中的第三个元素。
      这块内容要画出内存图就能更好的理解了,你自己试着画一画。其实很简单不管是几维的数组他们的物理存储都是连续的一块内存,只是解释方式不同而已。重要的不是他们的实际的物理存储,而是他们的逻辑结构(在程序中你要怎么去解释)

想学C的话,建议下载个C语言的CHM格式帮助文档,里面都有很详细的讲解

二维数组简单的说,就好比10只母猪,没只母猪又生N只小猪,组成的数组。

上一个:如何学好c语言
下一个:C语言一道题目

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,