数组作为函数参数传递会退化为指针,以下三种写法都一样
1.void func(int a[]);
2. vpid func(int * a);
3. void func(int a[4]);
那么用指针的引用的方式传递数组代表的是什么含义呢?
首先:
int **p1;
//p1是一个int类型的指针的指针
int *&p2;
//p2是一个int类型的指针的引用
int &*p3;
// ERROR:p3是一个int类型引用的指针(不合法!)
int &&p4;
// p4是一个int类型引用的引用(不合法!)。
void func(int * &a) ;//a是一个引用。引用的类型是一个指向int的指针.
这样可以传递一个一维数组。但是放的一维数组的类型需要是一个指针的引用。
版权声明:本文为weixin_42655134原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。