小编Jag*_*edi的帖子

指针分配和增量如何在下面的示例中工作

我正在学习C中的指针.我对下面的程序如何工作感到困惑

int main()
{
    int x=30, *y, *z;
    y=&x; 
    z=y;
    *y++=*z++;
    x++;
    printf("x=%d, y=%p, z=%p\n", x, y, z);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是

x=31, y=0x7ffd6c3e1e70, z=0x7ffd6c3e1e70
Run Code Online (Sandbox Code Playgroud)

yz指向变量的下一个整数地址x.我无法理解这条线是如何工作的

*y++=*z++;
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下C如何理解这一行吗?

c pointers

5
推荐指数
1
解决办法
81
查看次数

标签 统计

c ×1

pointers ×1