2014年3月27日

关于数组和指针比较经典的题目

摘要: 题目1如下#include#includeint main(void) { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return 0;} 输出结果为:2,5在这里主要是考察对指针加减操作的理解对指针进行加1操作,得到的是下一个元素的地址,而不是在原来指针基础上直接加1,一个类型为T的指针的移动,是以sizeof(T)为单位移动的首先a的实际类型为int [5],因此对于(int *)(&a+1)而言,先取数组a的首地址,然后进行加1操作,即& 阅读全文

posted @ 2014-03-27 21:20 FreedomQQkiko 阅读(853) 评论(0) 推荐(0) 编辑

导航