数组

作者: 风情云 | 来源:发表于2020-03-08 23:29 被阅读0次

数组

百度百科:所谓数组,是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。
按我的话来说,就是一堆同类型元素的集合体,按照连续的存储方式在内存存储。


数组

出现的原因

比如在定义整型数据时,需要定义n个整型变量,那就要写n个定义的语句,这样的工作是十分繁琐且无意义的,就需要数组的出现,只要定义一条语句就可以。


数组出现原因

一维数组定义与使用

  //数据类型 数组名[元素个数]
    int array[10];   //定义一个整形数组,有10个元素

赋值操作

    int arra[5] = {1,2,3,4,5};  //定义时赋值
    int arr[5] = {1,2,3};       //可以赋值部分,剩余的值均为0
    int a[5] = {0};             //直接赋值为0
    int b[] = {1,2,3,4,5};      //定义后面紧跟赋值操作时,可以省略赋值操作
    int array[5];
    array[0] = 1;               //通过数组下标赋值
    array[1] = 2;
    array[2] = 3;
    array[3] = 4;
    array[4] = 5;

获取数组个数

    int b[] = {1,2,3,4,5};
    int size = sizeof(b)/sizeof(b[0]);       //获取数组大小
过程详解

注意下标从0开始,因为机器的底层都是二进制,就0和1,所以下标从0开始。到元素个数-1结束。要避免数组越界,不然会操作非法内存,出现段错误。

二维数组

二维数组由多个一维数组组成,使用方法与一维数组无异。

    //数据类型 数组名[元素个数][元素个数]
    int array[2][3];   //定义一个整形二维数组,有2*3个元素,也可以理解成两行三列

在定义时,后面没有赋值操作,两个[ ]内元素个数不可省略,不然编译器不知道分配多大内存,报错。
赋值操作:与一维数组差不多

    int array[][3] = {1,2,3,4};       //系统自动计算为2*3的数组,后面的数据补为0
    int arra[2][3] = {0};
    int arr[2][3] = {{1,2,3},{4,5,6}};//完全赋值
    int ar[2][3] = {1,2,3,4,5,6};     //和上面的方面一样,系统会自动将数据分开
    
    int a[2][3];
    a[0][0] = 1;                      //下标赋值法
过程详解

获取数组元素个数

    int r = sizeof(a)/sizeof(a[0]);       //获取行
    int j = sizeof(a[0])/sizeof(a[0][0]); //获取列

数组大小 = 元素类型的字节数*元素个数

数组本质

数组就是多个连续的同种类型的内存块,本质还是一个数据。二维数组并不是数据在内存中分行与列,只是让我们感性认知,取二维数组这个名字。本质就是多个一维数组连在一起,组成二维数组。

数组本质

注意事项

使用数组谨记下标从0开始,到元素个数减一结束,如果数组下标越界,会操作非法内存,程序可能会出错,调试会很痛苦。

数组的简单介绍结束。

相关文章

  • 数组

    数组数组数组数组数组数组数组数组数组

  • JavaScript - 5.数组<增删改查>

    数组 Array 数组 - 增 数组 - 删 / 改 数组 - 查 数组 - 自动 toString() 数组 -...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 》》》PHP初入---(三)

    数组定义 1.索引数组:数组下标是整型的 声明数组: 访问数组: count(数组)--获取数组长度 查看数组所有...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

  • Shell数组、关联数组

    数组 定义数组 获取数组 关联数组 定义关联数组 获取关联数组

  • 学习Java第五天

    数组是多个数据的集合 数组的语法 数组元素类型【】 数组名; 多维数组: 数组元素类型【】【】 数组名; 多维数组...

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • C语言的惯用集

    数组部分 数组部分 清空数组a 把数据读进数组a 对数组a求和

网友评论

    本文标题:数组

    本文链接:https://www.haomeiwen.com/subject/afbsdhtx.html