请教,函数入参类型为字符串指针的引用(char* &),传参数时为什么不能串堆中申请的数组例如char a[20],内详

请问,函数入参类型为字符串指针的引用(char* &),传参数时为什么不能串堆中申请的数组例如char a[20],内详
一个函数 fun_a(char* & array);
我申请了一个数组 char array[64];
请问为什么不能fun_a(array);这样使用呢?
如果我就是想通过函数改变字符串数组array[64]里的内容,我应该如何做呢?
请指教,谢谢!

------解决方案--------------------
fun_a(array);
array不是指针,而是数组。

正确的做法是
fun_a(char* (&array)[64]);

如果你感觉这样限定了传入的数组大小必须是64,你可以改成这样
template<int Size>
xxx fun_a(char* (&array)[Size]); //VC6不支持!
------解决方案--------------------
不知道是不是这个意思
C/C++ code
    char arr[50];
    for (int i=0;i<50;i++)
        arr[i]='A'+i;
    char * ptr_a = arr;
    char * &ptr_c = ptr_a;
    fun_a(ptr_c);

------解决方案--------------------
把arr通过指针辗转一下成引用..

------解决方案--------------------
指针也只是一个变量,跟int,char类型无异】
理解了这个,就知道传变量和传引用的区别了