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
变量。
这是我的代码片段。我想知道我正在使用的指针以及我使用它们的方式是否有效。代码有效,但我需要更多说明它们是如何工作的。
代码如下:
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
变量。