一个典型的场景就是用函数修改变量的值:
int exchange(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
int main()
{
int a = 1;
int b = 2;
exchange(&a, &b);
printf("a = %d, b = %d", a, b);
}
这里定义的exchange函数必须要用指针作为参数,也就是修改目标的本身,而不是修改他们的复制
两种情况:
1)当需要动态分配内存时,需要用指针去引用(指向)新分配的内存(地址),比如动态长度的数组。
2)你传递一个变量给函数,希望通过函数改变这个变量的值时,需要用指针。
需要操作内存时 一般用指针。 内存的寻址 需要使用指针。