zoukankan      html  css  js  c++  java
  • 数组的使用

    数组

    1. 为什么需要数组        为了解决大量同类型数据的存储和使用问题 ; 为了模拟现实世界

    2. 数组的分类

      一维数组

      怎样定义一维数组 为n个变量连续分配存储空间

      所有的变量数据类型必须相同

      所有变量所占的字节大小必须相等

      例子:int a[5]

      一维数组名不代表数组中所有的元素

      一维数组名代表数组第一个元素的地址

      有关一维数组的操作:

      初始化

      完全初始化 int a[5] = {1,2,3,4,5};

      不完全初始化 int a[5] = {1,2,3}; 未被初始化的元素自动为0

      不初始化 int a[5] ;所有元素是垃圾值

      清零int a[5] = {0};

      错误写法

      int a[5];

      a[5] = {1,2,3,4,5}; // 错误写法

      只有在定义数组的同时才可以整体赋值,其他情况下整体赋值都是错误的。

      int a[5] = {1,2,3,4,5};

      a[5] = 100; // error 因为没有a[5]这个元素,最大到a[4]

      int a[5] = {1,2,3,4,5};

      int b[5];

      如果要把a数组中的值全部赋值给b数组

      错误写法:

      b = a;

      正确写法:

      for(i=0; i<5; ++i)

      b[i] = a[i];

      赋值

      二维数组

                     int a[3][4];
                    总共是12个元素,可以当作三行四列来看待,这12个元素的名字依次是a[0][0] a[0][1] a[0][2] a[0][3]
                    a[i][j]表示第i+1行,j+1列的元素

      初始化

      int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
      int a[3][4] = {
          {1, 2, 3, 4},
          {5, 6, 7, 8},
          {9, 10, 11, 12}
         
      }

      输出二维数组内容

    /*
     输出数组的内容
    */

    # include <stdio.h>

    int main(void)
    {
    int a[3][4] = {
    {1, 2, 3, 4},
    {5, 6, 7, 8},
    {9, 10, 11, 12}
    };
    int i, j; // 输出数组的内容

    for(i=0; i<3; ++i)
    {
    for(j=0; j<4;++j)
    printf("%-5d", a[i][j]); // "-"号表示左对齐,5表示占五个位置
    printf(" ");
    }

    return 0;

    }

    多维数组

    是否 存在多维数组 不存在 因为内存是线性一维的 n维数组可以当做每个元素是n- 1维数组的数组

    比如: int a[3][4 】 该数组是含有三个元素的一维数组 只不过每个元素都可以再分成4个小元素

    int a【3】【4】【5】 该数组是含有3个元素的一维数组 只不过每个元素都是4行5列的二维数组



  • 相关阅读:
    leetcode 131. Palindrome Partitioning
    leetcode 526. Beautiful Arrangement
    poj 1852 Ants
    leetcode 1219. Path with Maximum Gold
    leetcode 66. Plus One
    leetcode 43. Multiply Strings
    pytorch中torch.narrow()函数
    pytorch中的torch.repeat()函数与numpy.tile()
    leetcode 1051. Height Checker
    leetcode 561. Array Partition I
  • 原文地址:https://www.cnblogs.com/icoding233/p/13174052.html
Copyright © 2011-2022 走看看