C++数组首地址

本文通过一个C++示例程序详细解析了数组与指针的区别,特别是数组名作为指针时的行为特性,以及不同类型指针在内存中偏移的不同表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

以上代码的输出结果为:

1309012

1309016

1309032

 

1) 对指针进行加1操作,得到的是下一个元素的地址,一个类型为T的指针移动,以sizeof(T)为移动单位

    a是数据首元素的地址,即&a[0],类型为int*,所以a + 1为a + sizeof(int)

    &a是数组的地址,类型为int(*)[5],所以&a + 1为&a + sizeof(int) * 5

 

    a与&a两者都是是指针,且值相同,但指向类型不同。

 

2) 数组首地址a不能作为左值,只能作为右值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值