数组的简单应用 一

数组的简单应用 一

  • 什么是数组
    • 是用来存储一组数据的容器
  • 数组的用处
    • 用于把同一类型的一组数据统一管理起来
  • * 应用场所*
    • 需要统一管理一组有关联的额数据的时候
  • 声明数组的语法
    • 数据类型 数组名[数组的长度]; int arr[3]
    • 数据类型 : 指的是数组中每一个元素的数据类型
    • 数组名 : 是不包含中括号
  • 几个专业术语

    • 元素: 数组中的每一个小空间、
    • 下标: 元素在数组的位置 从0开始
    • 长度: 数组宏元素的个数,也就是这个数组最多能容纳的数据的个数
    • int arr[100];
      • arr 数组名;
      • 100: 元素个数
  • 注意点

    • 为元素赋值的时候, 赋值的数据类型一定要和元素的类型一致
    • 赋值的时候 下标不能越界,如果下标越界就会产生难以预料的结果
  • 取出数组元素的值

int nums[3];
nums[0] = 10;
nums[1] = 20;
nums[2] = 30;
  • 要取出一个元素
    • int num1 = 数字名[元素的下标];
    • 注意 下标千万不能越界
  • 遍历数组

    • 假设有数组 int nums[数组的长度];
    for(int i = 0;i < 数组的长度;i++){
        nums[i];//这个就是数组中的每一个元素
        //打印每一个元素
        //可以求和
        //比较求最大值,求最小值...
    }
  • 数组的长度问题
    • 声明数组的长度的时候 必须要指定数组的长度
    • 数组的长度一般是常量
      • 还可以是 变量 和表达式的结果
      • 字符 (长度是字符的ASCII码)
    • 数组的长度不能是小数也不能是负数
    • 数组的长度可以是1 或0, 但是没有意义
数组元素的初始化
  • 定义的同事初始化: 静态初始化
    int nums[5] = ...//
        1)int nums[3] = {1,2,3}//指定长度全部初始化
        2)int nums[] = {1,2,3,4}//不指定长度全部初始化
        3)int nums[5] = {1,2}//指定长度 部分初始化
        //奇葩初始化
        4)int nums[5] = {[0] = 10,[3] = 50}

只要是静态初始化,那么没有被初始化的元素自动默认为0

  • 先定义后初始化: 动态初始化

    • 挨个赋值,没有被赋值的元素自动默认为是垃圾值
  • 数组元素所有都初始化为0

    • int num[10] = {0};
数组在内存中的存储方式
  • 数组在内存中 也是从高字节向低字节申请连续的
    (数组的长度 * 每一个元素的字节数)个字节的空间
  • 数组的地址

    • 数组的地址 == 数组中最低字节的地址== 数组中下标为0的元素的读字节的地址 == 数组中下标为0的元素的最低值 == 数组名
    • 数组名是一个变量, 这个变量储存了数组的地址
    • 所以打印数组名的时候 应该用%p
  • 计算数组的长度

    • 数组的长度 就是指数组中元素的个数
    • 利用 sizeof 计算
    • sizeof(数组在内存中占用的字节数) /sizeof(单个元素字节数)
    • sizeof(nums) / sizeof(int)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值