c语言中指针的说明

clarification for pointers in c language

这是我的代码片段。我想知道我正在使用的指针以及我使用它们的方式是否有效。代码有效,但我需要更多说明它们是如何工作的。

代码如下:

void swapValues(int *x, int *y) {
    int max;
    max = *x;
    *x = *y;
    *y = max;
}

int变量max可以等于*x?我了解 *y = max; 的工作原理,但我对第一个感到困惑。能否请大家详细说明一下,以便我了解它是如何工作的。

假设你的意思是

max = *x;

*x代替*p,那么和赋值

基本一样
*y = max;

首先指针 x 被取消引用以获得 x 指向的值。然后将该值分配给(相当糟糕的命名)max 变量。