当数组作为函数形参的时候,共有如下三种形式:
1 void printValue(int*) { /*......*/}2 void printValue(int []) { /*......*/}3 void printValue(int [10]) { /*.....*/}
函数不能直接传递数组,但是函数的形参可以写成数组的形式。虽然形参表示方式不同,但是可将使用数组语法定义的形参看做
指向数组元素类型的指针。上面三种定义都是等价的,形参类型实际上都是int*。
如下所示例子,在编译结果中sizeof(a)不论是上面哪三种形式,值都是4,即指针类型的4 byte。
1 #include2 using namespace std; 3 void printValue(const int a[10]) 4 { 5 cout< <
数组作为函数形参时的情况一定谨记!!