#include <stdio.h> int main() { int a[5]={1,2,3,4,5}; int *ptr1=(int*)(&a+1); int *ptr2=(int*)((int

2024-11-23 08:14:54
推荐回答(1个)
回答1:

地址 0-3 4-7 8-11 12-15 16-19 20-23
数值 1 2 3 4 5
&a+1 就是地址为20的地方
*ptr1[-1]就是20-4=16这个地方 一个Int 占用4个地址
(int)a+1 跟a+1不一样 前者地址为1 后者为4
所以*ptr2表示的是指向地址为1的指针地址