指针问题分析

本文解析了一个关于指针运算的问题:初始化一个整型数组并利用指针访问数组元素,特别是越界访问的情况。通过分析指针指向数组首地址时,访问te[-1]的随机性及其变化后的具体值。

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

int ch[10]={1,};
int* te=&ch[0];
printf("%d\n",te[-1]);
te++;
printf("%d\n",te[-1]);

第一次打印和第二次打印的值是否一致?
对于这个问题,首先要分析te指针指向的是ch这个内存块的首地址,所以对于te[-1]来说,由于-1这个数组值不存在,所以其内容应该是随机的。当te++,te指针指向的地址就变成当前首地址的下一个,此时te[-1]的地址实际上就变成了首地址,所以打印的结果应该为1。(te-1)++实际上就是te。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值