定义int x[]={3,2,5,1,15,7,12};则表达式*(x+3)的值为多少 答案是1 为什么啊

问题描述:

定义int x[]={3,2,5,1,15,7,12};则表达式*(x+3)的值为多少 答案是1 为什么啊
给个详解~

首先x是这个数组的首地址,数组保存的int类型
所以可以把其看作是 const int* 类型,对int指针加1表示地址增加sizeof(int)
我们假设INT为4字节 X地址为0X0000(当然这不可能)
因此 x+1 表示 0X0004
所以*(x+3)取偏离数组首地址12字节数据,说白了就是x[3]