zoukankan      html  css  js  c++  java
  • c/c++一维数组简单介绍

    定义:同一种类型数据的集合

    通俗的讲就是,将多个同一种类型的数据按一定的内存顺序写在一起。

    注意我的几个关键字“多个”,“同一种”,“一定的内存顺序”。如果理解了这几个关键词,说明你的数组已经掌握了。

    我们分开了解这几个关键词:

    多个:首先数组是为了存储多个数据而产生的,如果你只有一个数据那就没必要用数组了,当然你非要定义数组存储单个数据也是不会报错的。

    //eg
    #include<iostream>
    using namespace std;

    void main()
    {
    int a; //等效于 int a[1];
    int num[10]; //一般用于定于多个,此处就表示,定义10个int类型的数据
         //注意数组是从零开始计数的
    }

    同一种:数组最重要的特点就是将相同类型的数据放在了一起,便于以后的各种迭代处理,直接看代码更容易理解

    //eg
    #include<iostream>
    using namespace std;

    void main()
    {
       int a[10]; //假如你现在需要十个正整型数据 先赋值再求和
       int sun = 0; //定义sum的初始值为0
       for(int i = 0; i < 10; ++i)
      {
           a[i] = i;
      }
       for(int j = 0; j < 10; ++j)
      {
           sum += a[j];
      }
    cout << sum << endl;
    }

    一定的内存顺序:这块是很重要的,即数组在内存中的相邻数据之间的间隔一定的(数据类型的长度),数组和指针可以相互使用,现在很好的理解数组的内存结构,在后面指针那里就很容易学懂了。

    #include<iostream>
    using namespace std;
    void main()
    {
    int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; //我们可以先去打印a[0] 与 a[9]之间的内存差看看效果
    cout << &a[0] <<" "<< &a[9]  << endl; //& 在这里是取地址符
    cin.get();
    }

    用两个地址作差除去,size(int),看看是个什么结果。下面我将用图来解释:

    数组的初始化

    数组的初始化有很多的种方法,这里我将写出最长见的几种:

    #include<iostream>
    using namespace std;
    int main()
    {
    int a[10] = {0}; //这种方式将默认是个元素全部为零
       int b[10] = {0,1,2,3,4,5,6,7,8,9};//一一对应的方式。
       //也可以在后续的过程中给出自己的操作
       return 0;
    }

    这里还有二维数组未说明,后期继续,写得有问题的地方请指出,我改正,谢谢!

  • 相关阅读:
    孩子们的游戏(圆圈中最后剩下的数)
    求1+2+3+...+n
    扑克牌顺子
    Java 好文整理
    翻转单词顺序列
    左旋转字符串
    和为S的两个数字
    和为S的连续正数序列
    平衡二叉树
    java 构造函数
  • 原文地址:https://www.cnblogs.com/XLX-0327/p/10499756.html
Copyright © 2011-2022 走看看