this is a snippet from my code. I'm wondering if the pointers I'm using and the way I'm using them is valid. The code works but I need more clarification on how they work.
Here's the code:
void swapValues(int *x, int *y) {
int max;
max = *x;
*x = *y;
*y = max;
}
The int variable max
can be equal to *x
? I understand how the *y = max;
works but I'm confused in the first one. Can y'all please elaborate it more so that I can grasp how it works.
CodePudding user response:
Assuming you mean
max = *x;
with *x
instead of *p
, then it works basically the same as the assignment
*y = max;
First the pointer x
is dereferenced to get the value x
is pointing to. Then that value is assigned to the (rather badly named) max
variable.