下面程序的输出结果是
int main() { int a[5] = {1, 2, 3, 4, 5}; int *ptr = (int *)(&a + 1); printf("%d, %d", *(a + 1), *(ptr - 1)); return 0; }
int a[5] = {1, 2, 3, 4, 5}; int a_size = sizeof(a); //a_size = 5 * sizeof(int)2. 在取址符后时
int *p = &a + 1; //这个加一就只是单纯的加一个int型地址长度了,而是一个数组a的长度除此之外,都是指数组首元素地址
printf("a[0] = %d\n", *a); //既然是地址,打印值的时候要解引用如有不当,还望不吝赐教