美文网首页
数组注意点

数组注意点

作者: Coder007 | 来源:发表于2016-11-10 17:44 被阅读11次
数组在内存中的存储
  • 变量的内存寻址是从大到小,所以存储数据时会从高字节开始存储
  • 数组存储的和变量相反,元素存储是从内存地址小的开始,但是元素内部存储是和变量存储一致
  • 数组名就是数组的地址
值传递和地址传递
  • 基本数据类型作为函数的参数是值传递
// 如果形参是基本数据类型,在函数中修改形参的值不会影响到实参的值
void change(int value)
{
}
  • 数组名作为函数的参数传递,是传递的数组的地址
  • 因为数组名就是数组的地址 &number == &number[0] == number
  • 如果数组作为函数的形参,元素的个数可以省略
// 如果形参是数组,那么在函数中修改形参的值,会影响到实参的值
void change(int values[])
{
}
函数中计算长度
  • 如果数组作为形参,那么在函数中就不能通过数组的名称计算出数组元素的个数
  • 因为系统会自动将数组形参转换为指针,指针占用8个字节
    • 传递的是数组名称,其实传递的是地址
    • 如果传递的是地址,其实传递的是指针
    • 指针在64位编译环境占8个字节
  • 只能在外面将长度传递过来
取出数组中得最大值
  • 定义一个变量,假设为最大值
    • 注意:不能假设一个不是数组中的值为最大值
  • 遍历数组
  • 依次取出数组中每一个元素的值,和假设的最大值进行比较,如果数组的元素大于假设的最大值,就交换最大值
int arrayMax(int nums[], int length)
{
    int max = nums[0];
    for(int i = 1; i < length; i++)
    {
        if(max < nums[i])
        {
            max = nums[i];
        }
    }
    return max;
}
  • 因为数组是指针传递,所以也可以通过索引来取出最大值
  • 这种方式可以多思考,还有很多情景可以使用索引来进行
int arrayMax(int nums[], int length)
{
    int max = 0;
    for(int i = 1; i < length; i++)
    {
        if(nums[max] < nums[i])
        {
            max = i;
        }
    }
    return nums[max];
}

相关文章

  • 数组注意点

    数组在内存中的存储 变量的内存寻址是从大到小,所以存储数据时会从高字节开始存储 数组存储的和变量相反,元素存储是从...

  • 10 C数组的使用

    1、why数组? 2、数组初始化 3、数组遍历 4、存储细节 5、使用中的注意点 5.1、基本注意点 5.2、和函...

  • 12 Go数组

    1、数组的基本定义 2、数组的注意点 3、数组的遍历 4、二维数组

  • Java 数组

    声明格式 练习 数组注意点 不能超过 数组的长度 会报错 数组默认值 数组排序 方法 数组为引用类型数据 输出数组...

  • review javascript 12:关联数组

    (1)知识点 (1.1)创建 (1.2)hash数组使用注意点 (1.3)优点 (1.4)遍历 关联数组 (2)细...

  • 108. Convert Sorted Array to Bin

    将数组转化为平衡二叉树,方法是将数组中间的数作为根节点,数组左边为左节点,数组右边为右节点。 注意点: 1.注意中...

  • C语言day07-02数组-注意点

    pragma mark 数组-注意点 pragma mark 概念 pragma mark 代码

  • 10-Go语言数组和切片

    Go语言数组数组 一维数组 数组定义格式: var arr [3]int 数组的初始化方式先定义后初始化注意点:G...

  • 第07天C语言(00):笔记总结

    01-数组-内存存储细节 02-数组-注意点 03-数组-练习1 04-函数和数组1 05-数组和函数2 06-数...

  • 面向对象(三十一)-数组与字典详解

    Array数组 一维数组 语法 方法修改数组中某个元素的值 数组的遍历 注意点如果数组的数据类型被固定了,那么在赋...

网友评论

      本文标题:数组注意点

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