您的位置:首页 > 编程语言 > C语言/C++

C/C++语言中的指针与数组(一)

2010-10-20 17:16 155 查看
C/C++语言是大家公认的比较难学习的编程语言。而指针、数组又是这门语言中的难点。笔者根据自己多年来对C/C++语言的理解。用最通俗易懂的语言为大家详细讲解这两个知识点。希望对大家有所帮助。为还在C、C++门外的朋友提供一点帮助。

一、什么是数组

要学习数组以前我们必须要先深刻理解什么是变量。变量? 不就是一个值可变的量嘛!这有什么可讲的。很多朋友可能都有这个想法:) 呵呵。如果你有这个想法那说明你对C++理解的还不够深。对语言理解的还不够深。那变量到底是什么?(扔臭鸡蛋。。别废话。赶紧的。)

变量是内存中的一块空间。也就是你平常说的2G内存中的一小小小块地方。内存就像是一个超市的存包柜。有一个一个小格子组成。(注:比喻不是十分准确。但能说明问题)一个小格子就是一个变量。这个格子有占4个字节(int型)的、8个字节的、16个字节的等等。如果你只带了一个包。那么选择一个大小合适的格子就行了(也就是相当于1个变量),如果你一人带了15个大包。那你就得用15个大格子(也就是相当于15个变量)。这15个大包有两种存法:

1.零散的存放在柜子不同的地方。

2.一个挨着一个放在柜子的一行中。

如果是你你会怎么放?可能所有人都会选择第二种存法。为什么?因为第二种存法容易找。容易记住。对!数组的原理跟存包的原理是一样一样的。

数组其实就是数据的组合。也就是一堆相同的变量(格子)。这些变量按照一个挨着一个的方式存放在内存中。因为一个挨着一个所以可以通过编号(下标)直接访问

哦!原来数组就是一堆相连的、大小一样内存组合啊。

数组按维数分为:一维数组(占柜子的一行)、二维数组(占用柜子几行几列)、三维数组(占用多个柜子的几行几列)、多维数组等

数组按类型分为:整形数组、浮点型数组、字符型数组等。。(不同的类型也就是是指格子的大小不同)

二、数组的定义

一维数组:int a[10]={0}; //表示有十个大小为4字节格子组合,里面放了10个零蛋。

二维数组:int b[2][3]={0};//表示有2行3列的大小为4个字节的格子组合。里面放了6个零蛋。

三维数组:int c[2][3][4]={0};//表示有2个3行4列的格子组合。里面放了24个零蛋。

通过以上解释。你是否对数组有了一定的了解了呢?

未完待续。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: