云枭女 发表于 2021-1-11 18:32:15

C语言指针的运算

voidmain()
       {    int   a []={5,8,7,6,2,7,3};
            int y, *p=&a;
            y=(*--p)++;
             printf("%d",y);
             printf("%d",a);
         }
这个 y=(*--p)++;是什么意思吖?

小甲鱼的铁粉 发表于 2021-1-11 18:49:15

*p是int型的指针,它指向的是a,也就是数组a里面的第二个元素,因为数组在内存里面是顺序存储的,所以--p就是*p指向数组a的第一个元素,也就是a,然后再++,a就是6了,y是5

云枭女 发表于 2021-1-11 19:49:58

小甲鱼的铁粉 发表于 2021-1-11 18:49
*p是int型的指针,它指向的是a,也就是数组a里面的第二个元素,因为数组在内存里面是顺序存储的,所以-- ...

谢谢你{:5_108:}

小甲鱼的铁粉 发表于 2021-1-11 21:29:08

云枭女 发表于 2021-1-11 19:49
谢谢你

不客气{:10_256:}
页: [1]
查看完整版本: C语言指针的运算