数组作为形参,传递的实际是数组首元素的指针,下面三种声明是等价的
void print (const int*);
void pritn(const int[]);
void print(const int[10]);
当编译器处理print函数的调用时,只坚持传入的参数是否是const int*类型
数组不能越界访问,管理指针形参有三种常用的技术
1.使用标记指定数组长度。
要求数组本身包含结束标记,如c风格字符串,最后一个字符后跟着一个空字符,以此判断。
2.使用标准库规范。
传递数组首元素指针和尾后元素指针
print(const int *beg,const int *end);
int j[2]={0,1};
print(begin(j),end(j));
3.显示的传递一个表示数组大小的形参。
数组引用形参