数组作为函数参数
当数组作为函数形参的时候,共有如下三种形式:
1 void printValue(int*) { /*......*/} 2 void printValue(int []) {/*......*/} 3 void printValue(int [10]) {/*.....*/}
函数不能直接传递数组,但是函数的形参可以写成数组的形式。虽然形参表示方式不同,但是可将使用数组语法定义的形参看做
指向数组元素类型的指针。上面三种定义都是等价的,形参类型实际上都是int*。
如下所示例子,在编译结果中sizeof(a)不论是上面哪三种形式,值都是4,即指针类型的4 byte。
1 #include<iostream> 2 using namespace std; 3 void printValue(const int a[10]) 4 { 5 cout<<sizeof(a)<<endl; 6 } 7 int main(int argc,char *argv[]) 8 { 9 int t[3] = {0, 1,2}; 10 printValue(t); 11 return 0; 12 }
数组作为函数形参时的情况一定谨记!!
*******************************
工具至上
Email:zsc1528@gmail.com
QQ:2743230905
*******************************
posted on 2012-07-18 00:04 micky.zhou 阅读(236) 评论(0) 编辑 收藏 举报