菜鸟编程 关于一维数组与二维数组

来源:互联网 发布:叮叮聊天软件 编辑:程序博客网 时间:2024/05/18 01:19

九月多开学,在学校首先学的是C++。由于之前的一些东西是重复的,如数据类型,循环语句等,打算将其跳过。那就先从一维数组和二维数组开始吧。


操作中往往需要处理许多同一类型的数据,最简单的例子便是计算考试成绩的平均分。需要对很多同一类型的数据进行操作,于是就引入了数组的概念。一维数组是一个有序数据的集合,其中的元素都有相同的类型。而其数组名有一个特点,它存储了数组的基地址,这一点在后面的指针中会提继续说明。

声明一个一维数组:  int a[10]; 数组的长度需要声明时就确定下来,而且之后也不再改变。

定义一个一维数组可以用for循环依次输入数据,也可以在声明的时候同时定义:以上方数组a为例子:

                   for(int i = 0;i <= 9;i++)

                           {  cin >> a[i];  }                       

           这里要注意的是,数组的第一个元素是从0开始的,也就是说下标为0,而不是1。同时,在操作数组的时候,要注意下标不要越界,也就是说,引用a[10]的时候,系统不会报错,但可能会引用到另外一个地址的数据,会出现不可预知的结果。

           另外一种定义的方式:

                     int a[] = {0,1,2,3,4,5,6};           这个时候,a的长度是7。

以查找元素作为数组的应用的一个例子。(顺序查找只需要一个个比较就可以了,下图中笔者用了二分查找,也就是说,每次取中间量进行比较,如果小于目标,中间量便作为low,若大于目标,中间量便作为high)




二维数组:数组的元素可以使任意类型的,也就是说,数组的元素也可以是数组——多维数组。笔者只学习了二维数组,因此下面就谈谈二维数组。

二维数组的声明:

    int a[2][2];  第一个下标代表行数,第二个下标代表列数。这里a是一个二行二列的二维数组。

二维数组的初始化:

    以前面的a为例子。可以用嵌套的for循环来初始化,也可以在声明的时候同时初始化。

        int a[3][3] = {{0,0,0},{1,1,1},{2,2,2}};     表示第一行为000,第二行为111,第三行为222

        int a[3][3] = {{1,1},{2}};   表示第一行为110,第二行为200,第三行为000

二维数组的引用:

    引用可以为单个元素的引用,此时需要两个下标。也可以是引动某一行,此时需要第一个下标。同样的,在引用的时候,要注意下标越界问题,在编译的时候系统不会检查下标的合法性。





原创粉丝点击