数组arr

一、一维数组

1、数组的创建方式:数组类型+数组名+[数组大小],其中数组大小可以自定义,如果不设置数组大小,你在数组中放多少元素,编译器会默认你的数组大小为正好能放下你所放置元素的大小。如果你定义的数组大小大于你放置在数组中的元素大小,那么编译器会默认剩下的空间中存放的是整型0或者字符串\0。其中字符串数组中如果写成arr[10]=“abc”那么编译器会默认剩下的6个元素都为\0,因为字符串有一个默认结尾为\0,所以虽然只写出了3个元素,但是实际上这个数组中含有4个元素。完全初始化:在定义一个数组大小之后,在数组中正好存放定义大小的元素;不完全初始化:在定义一个数组大小之后,在数组中存放比定义大小小的元素。

注:如果想输出一个字符串数组,那么就要将定义的空间位置要比实际存放在空间中的位置要大1个位置来存放\0。

2、[]为数组的访问操作符,利用下标来访问
3、sizeof(arr)可以算出arr中的总元素大小,sizeof(arr[0])可以算出arr中第一个元素的大小。
4、一维数组在内存中是存放在一段连续的空间中,%p用来打印地址

二、二维数组

       arr[3][4]代表着该数组存放着3行4列的数。二维数组中列不可省略必须定义,但是行可以省略。即一维可以省略但是二维不能省略。三维数组一样,一维可以省略,但是二维,三维不可以省略即列和高不能省略。定位时行和列都要从0开始。

二维数组的存储

        二维数组可以看成是有行个元素的一维数组,故一个3行4列的二维数组可以看成是有3个元素的一维数组,而这三个元素又存放了4个元素。二维数组的存储在内存中也是连续的,第二行的开头贴着第一行的结尾来存储,第三行又以同样的方式贴着第二行以此类推。故数组可以不定义行但是必须定义列。因为如果有了列,编译器才能知道你一行能放多少元素,但是如果没有列,编译器不知道你一行放多少元素,也就是说没有列二维也就没了意义,有列才有二维。

三、数组越界

       数组是有下标的,而访问数组需要[下标],但是如果访问时下标在1~n-1范围之外就会造成数组访问的越界。但此时编译器并不会报错,而是将越界的数据也输出数来,但是是随机值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值