计算机数组的介绍
那标识符我们程序中的这个列子的话呢,是一个塑料杯数组,那数组元素呢?数组元素就是我们数组里面每一个塑料杯或者说每个同学,下一个叫下标,那什么叫下标呢?所谓下标呢,其实就是数组中每一个元素的编号,因为我们计算机里面,我们一般从零开始的,这也是为什么我们之前讲循环的时候,一般来讲我们的循环变量都是从零开始,因为循环和数组是一对好基友,所以我们一般都是采用0开始的。数组的索引或者说下标或者说编号是从零开始的,最后呢就是元素类型,我们要组成一个数组的话呢,数组中每一个元素是不是要相同呢?要么都是塑料杯,要么都是学生,这就是数组啊,我们简单了解一下。C里面数组到底是怎么操作的,这里讲了,数组只有一个名称,是标识符,下标表明了元素在数组中的位置,从零开始的。比如右下角我们看一下,右下角的这个类型数组的话呢,是double类型的数组,数组名称呢我们给他起个名字叫nums,他的索引或者说下标呢,就是从01234,数组下标就是从0开始的,大家看懂了没有?非常简单啊,最后呢,我们的数组呢他的长度呢肯定是固定不变的,这里呢有一个专业术语叫做数组的下标越界,下标越界呢我们还是来看nums这个数组。在数组里面的下标是从0到4的,那我假设我要访问5号元素的话呢,肯定是没有的,是错误的,所以下标一定要大家看准了,一共有5个元素,那下标的最大值是几呢?刚好是5-1,是4,为什么呢?因
为他的数组下标是从0开始的,好,简单介绍一下。来我们小结一下,第一个,我们使用数组的好处是什么呢?我们使用数组有什么好处呢?相对于我们使用变量来讲,你在使用变量的话呢,假设我要处理一个学生变量表,那某个同学的语文成绩,只能说我要定义一个变量了。那光30位同学的话呢,就有30个变量,5门课的话呢,就是30乘以5,就要定义非常多的变量了。我们用150个变量去定义一个班级的学生的成绩,两个班呢,三个班呢?你这样做的话肯定是不好操作的对不对?那我们为了更加方便的去操作内存,怎么办呢?引入了数组的这样一个概念,所以数组是什么?数组就是连续的内存空间,好了第二道题,我们来看一下那哪一个数据能够定义成一个数组呢?以及他们的类型又是什么呢?看第一个选项,暴风之剑,巨人腰带,黑暗封印,那么这三个东西可不可以放在一个数组里面呢?很明显是可以的,具体在c语言里面是什么类型的数组呢?实际上是字符数组,看第二个,198,98,c,230 第二行很明显是不可以的,为什么呢?因为这个c是字符型的,而其他的呢是整型的,而这个198是字符类型的也是有问题的,198超越字符类型了,所以第二行是不可以的。第三行很明显是可以的,98.1 341.2 34.3 很明显是同一类型是可以的,因为他是double类型的数组,我们在c语言里面暂时还没有提到字符串,c99的话就已经提到了字符串标准了,现在还没接触到啊,后面再说。最后再强调一点,数组中所有元素都必须属于相同的数据类型,
字符串转数组怎么转这是我们非常重要的一个概念,最后再看一张图,这5个人的话是不是属于一个数组呢?很明显是可以的,因为他们的类型是相同的,有的同学说了男女不同啊,他的属性值属性不一样嘛。
再往下走,刚才呢我们基本讲了这个数组的概念啊,数组的概念,那现在呢我们重点来用一下数组啊,那我们的数组呢分为一维数组、二维数组和三维数组,我们先来看一维数组把,其实呢我们只需要把一维数组掌握了,后面的数组都是比较简单的,都差不多。一维数组呢比如说,学生单门学科的成绩,还是可以做一维数组的,单门学科的成绩,然后第二个呢,某类别商品的单价。某个人单个月的单价,可以的,某个人单个月的工资,也是可以的。那定义数组的语法呢,左边是数据类型,右边呢是数组名,一个中括号,以及数组的大小。你看int nums[25];很明显这就是定义了一个25个元素的数组,他的类型呢是整形,他的名称呢是nums,也可以定义一个char型的数组,也可以定义一个double型的数组。这里要强调的一点呢,是我们这个中括号的位置,千万不要放在后面。那这里呢我们引入了一个新的定义方式啊,#define N 这是什么意思呢,就是宏定义,就是说我们通过宏观的方式,我们做了一个常量,那N这个值呢,以后就代表50 了,那N肯定是没办法更改的,N就可以作为一个常量来表示数组的大小,那么常量的话呢有define,也有const,define和const是有区别的,defin
e表示宏定义,这个N呢可以代表50,也可以代表其他类型,所以是先定义,在定义define的时候呢,他还没有类型,只是说在用的时候,编译器才给他转化成相对应的类型,而const来表示常量,在定义的时候其实就已经有固定类型了,所以define在用的时候呢,很可能会有风险,以后我们用的时候尽量多用const来表示常量,但是define呢如果大家只是定义整型的话呢是没有问题的,那这两种方式呢,在目前来看都是类似的,没什么区别。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论