数组分析笔记

数组:相同类型元素的集合且空间连续
int arr[3] = {1,2,3};
int arr[5];
数组的名字:表示数组首元素的首地址,如arr
&数组名字:表示整个数组的地址,如&arr
sizeof(arr):是整个数组的大小
arr == &a[0];此时为数组中1的地址
arr+1;此时为数组中2的地址(表示往右偏移1个int)
&arr+1;表示往右偏移一个数组大小的偏移量,此时所表示的空间地址在数组中元素3的后面。

int arr[5] = {1,2,3,4,5};
*(&arr+1)因为发生了越界,所以结果为乱码
*((int *)&arr + 1) 结果为2
*((int *)((int)&arr + 1))结果十六进制表示为0x02000000

大部分计算机都是小端存储

二维数组
int arr[4][2] = {1,2,3,4,5,6,7,8,}
4个元素,每个元素有2个int构成
定义指针p指向数组arr
int (*p)[2] = arr == &arr[0];

*p ==arr[0] == &arr[0][0]
*p == arr[0][0]
那么
(*p + 1)为2
**(p+1)为3

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值