小编Mat*_*ode的帖子

为什么常规交换与指针到指针变量一起使用?

我知道这两个函数之间的区别:Swap(int *x, int *y)vs Swap(int **x, int **y)

但是,我不确定这种代码是如何工作的。如何将指针指向的地址与常规swap()类型交换?

例如,我相信a创建了一个本地指针变量并且它指向&ptr_x,因此当我取消引用时*x它等于&x

那么,temp(并且*a也可以用作整数)可以保存/*b的实际地址,这就是它起作用的原因?xy

void swap(int *a, int *b)
{
   int temp = *a;
   *a = *b;
   *b = temp;
}


int main()
{
   printf("in main:\n");

    int x = 2;
    int y = 8;

    int *ptr_x = &x;
    int *ptr_y = &y;

    printf("ptr_x points to = %p\n", ptr_x);
    printf("ptr_y points to = …
Run Code Online (Sandbox Code Playgroud)

c swap pointers pointer-to-pointer function-definition

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