&a+1与a+1

来源:互联网 发布:php class 内调用方法 编辑:程序博客网 时间:2024/04/30 14:00
    int a[5] = {1, 2, 3, 4, 5};    int *ptr1 = (int*)(&a + 1); //这里偏移量是整个数组的大小,但我不知道怎么解释。    int *ptr2 = (int*)((int)a + 1); //a地址再加一个字节,直接数值相加而不是指针 &a地址加1    int *ptr3 = (int*)(a + 1); //a相当于int *指针,a+1相当于a+sizeof(int *),偏移量为int *    printf("%x %x\n", ptr1[-1], *ptr3);

输出5 ,2

0 0