C语言新人,求C语言函数中传递地址的指导,该如何处理

C语言新人,求C语言函数中传递地址的指导
C/C++ code

//代码实现的是单纯的A B 的交换输出
#include <stdio.h>

void Change(char &a,char &b);

int main(void)
{
    
    char t = 'A';
    char u = 'B';
    char &a = t;//此处不理解,是指变量a的地址指向t的地址么?
    char &b = u;//此处不理解,同上
//    char &a,&b;
//    a = t;
//    b = u;
    
    printf("%c%c\n",a,b);
    Change(a,b);//此处为什么是这么写的,Change(a,b)的写法不是值传递么?
    printf("%c%c\n",a,b);
    return 0;
}
//以下是A B 交换的函数
void Change(char &a,char &b)//函数中形参的声明是说明传递的是地址么?
{
    char x = a,y = b;
    x = x + y;
    y = x - y;
    x = x - y;
    a = x;
    b = y;
}



------解决方案--------------------

char &a = t;//此处不理解,是指变量a的地址指向t的地址么?
char &b = u;//此处不理解,同上
这是引用 引用即别名
------解决方案--------------------
char &a = t;
这个是c++中的引用,相当为t变量建立一个别名。叫做a,所用的空间和t是一样的
void Change(char &a,char &b)
这里因为是利用引用,相当于分别为两个的变量建立一个新名字。指向的仍然是原变量的地址
所以修改这两个变量a,b时,操作的内存单位和原变量的是一样的
就等于地址传递的原理
------解决方案--------------------
楼主的代码应该是C++的,可以去看看有关C++中“引用”的介绍。
------解决方案--------------------
探讨
char &amp;a = t;
这个是c++中的引用,相当为t变量建立一个别名。叫做a,所用的空间和t是一样的
void Change(char &amp;a,char &amp;b)
这里因为是利用引用,相当于分别为两个的变量建立一个新名字。指向的仍然是原变量的地址
所以修改这两个变量a,b时,操作的内存单位和原变量的是一样的
就等于地址传递的原理