简介

查看输出结果 2 5

参考链接

https://blog.csdn.net/wanghao109/article/details/11605577

code

int main() { 
	int a[5] = { 1,2,3,4,5 }; 
	int* ptr = (int*)(&a + 1);
	printf("%d %d\n", *(a + 1), *(ptr - 1)); 
}
int main()
{
	int a[5] = {1,2,3,4,5};
	int(*ptr)[5] = &a;
	//注意a等价于&a[0],只表示一个元素的地址。&a才表示数组的地址
	//&a表示数组指针,a表示int型整数指针
	//printf("%p %p\n",a,&a);//虽然这里打印的值一样,但表示的含义不一样
	int* p = (int*)(ptr + 1);
	printf("%d %d\n", *(a + 1), *(p-1));
	return 0;
}
posted on 2021-05-26 15:52  HDU李少帅  阅读(66)  评论(0编辑  收藏  举报