数组的创建和引用

  自我理解,如有错误,欢迎批评!

  第一次写博客,感谢大家的支持!也希望大家多多建议,如有不足,敬请斧正!

  对于数组来说,最重要的就是理解它是引用数据类型。既然是引用数据类型,那么他就需要用new来声明,并且是在声明后系统给他分配一个对应类型和大小地址。这点和c中有点差异,c中的基础数据类型都是定义即申明,所以c中的数组定义必须要告知数组大小,因为定义后就直接去分配空间了。这里又想到c里面的指针。c中的指针其实本身也就是一个变量,只不过他里面存的和其他一般变量不同,他存的是地址。例如int *pa=&a;那么就是相当于说把a的地址放到pa的存储中,也就是说printf(“%p   %p ),&a,pa)是相等的。

  数组基础知识分为三方面:

    1-声明 

    2-初始化

    3-引用

  下面从一维数组入手:

    1-声明:

      a-   Type   arrayName[ ];

      b-   Type [ ] arrayName;  (更为普遍使用)

    2-初始化:

      a-  arrayName = new Type[ length];

      b-  arrayName = {1,2,3,4...}     //直接将内容写入数组

      c-  int [ ]  x = {1,2,3,4};

         arrayName = x;  //因为数组是引用数据类型,所有就相当于把x内存的地址赋给arrayName,也就是x和arrayName指向同一个地址,

         也就是说假如通过x去改变数组的值,arrayName也会 改变,因为他们本身就是指向同一个地方!

    3-引用:

      a-  arrayName[ arrayIndex];   //利用数组名和下标值引用数组元素

  

  二维数组:

    1-声明:

      a-   Type   arrayName[ ][ ];

      b-   Type [ ][ ] arrayName;  (更为普遍使用)

    2-初始化:

      a-  arrayName = new Type[row][col ];

      b-  arrayName = {{array1},{array2}...}     //直接将内容写入数组

      c-  int [ ]  x = {1,2,3,4};

         int [ ]  y = {a,b,c,d};

         arrayName[0] = x;

         arrayName[1] = y;     //和前处一维数组相同 

      注意:

        Java中多维数组是可以不同行的列数不同的数组是可以定义的( C语言中多维数组定义行数可以不定,列数必须定义 )

          例:  Type [ ][ ] arrayName = new Type[row][ ];

              arrayName[1] = new Type[ col1];

              arrayName[2] = new Type[ col2];

    3-引用:

      a-  arrayName[ arrayIndex1] [arrayIndex2];   //利用数组名和下标值引用数组元素

 

谢谢!小白上路,多多体谅/xk

posted @ 2020-03-09 15:52  HuanL  阅读(360)  评论(0)    收藏  举报