day06--数据类型--构造类型--数组

一维数组

定义:代表内存里一组 “连续” 的 “同类型” 存储区。
声明:int arr[5]; //数组里面包含的存储区个数是不可以改变的。
初始化:int arr[5] = {0, 1, 2, 3, 4};
  初始化数据个数大于存储区个数,就把多余数据忽略。
  初始化数据个数小于存储区个数,就自动把后面的存储区初始化为0。
  初始化数据个数等于存储区个数,可以省略声明中的存储区个数。
下标:数组里每个存储区的标号。超出范围的下标称之为越界。

注意:1、数组名称表示一个存储区的地址。


可变长数组(C99)

 C99中允许声明数组的时候使用变量表示数组里的存储区个数。
 注意:
  1、每次程序运行过程中数组里存储区个数不会改变,如果程序多次运行则每次运行的时候数组里的存储区个数可以不同。(即:数组存储区一旦确定就不可能改变)。
  2、不可以初始化。

多维数组

 二位数组是最常见的多维数组,只能表示存储区的一次分组情况。
声明:int arr[2][4];
初始化
  1、arr[0][1] = 5; //双重循环赋值和打印
  2、 int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int arr[2][3] = {1, 2, 3, 4, 5, 6};
    注意如下两种初始化数据的不同:
    int arr[2][3] = {1, 2, 3, 4};
    int arr[2][3] = {{1, 2}, {4, 5}};
  3、若已知分组个数,则可以省略分组下标
    int arr[][2] = {1,2,3,4,5}; //计算机会认为是三组。
注意
  1、二位数组名称:表示第一个存储区的地址: arr = &arr[0][0];
  2、二位数组名称配合一个下标使用:表示下标对应组中第一个存储区的地址。
   arr = arr[0] = &arr[0][0]; //地址相同
   sizeof(arr) == 24;    //二维数组的size
   sizeof(arr[0]) == 12;   //二维数组中一行的size

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值