c语言基础题指针数组

#include

int main() {
   int a[4]={2,3,4,5};
   int *p=(int*)(&a+1);
   //将数组 a 的地址加上 1 后强制转换为整型指针 p。 &a 表示取数组 a 的地址。
   
   int b=*(a+1);//通过数组索引访问方式,获取数组 a 中第二个元素的值赋给变量 b
   int c=*(p-1);
   //通过指针偏移访问方式,先减去 1 再访问指针 p 所指向的内存地址的值,赋给变量 c
   int d=*(p+1);
   printf("b的结果%d\n",b);//数组a中下标为2的元素,即a[2]=3; 
   printf("c的结果%d\n",c);//a[3]=5
   printf("d的结果%d\n",d);//null
    return 0;
}
//结果:b=3  c=5 d=0

你可能感兴趣的:(算法,java,数据结构)