三种形式
void print(const int*);
void print(const int []);
void print(const int [10]);
形式不同,但等价,每个函数唯一的类型是 const int* 类型的。
以数组作为形参的函数必须确保使用数组时不会越界。
1. 使用标记指示数组长度
适用于有明显标记的数组例如结束符,检测到结束符时结束程序。
2. 使用标准库规范
传递指向数组首元素和尾后元素的指针,从指针头开始遍历过程中后移,当检测到*beg == *end时结束程序。
3. 显示传递一个表示数组大小的形参
main()函数传参时定义为: main(int argc, char *argv[])
argc 为参数的个数,argv是一个数组,它的元素是指向C风格字符串的指针,argv[0]是当前程序的可执行文件名,可选实参从argv[1]开始。
//令其接受两个实参,把实参内容连接成一个string
int main(int argc,char **argv)
{
char *p = argv[1]; //记得使用指针记录argv[1]的头
while (*argv[1] != '\0') *argv[1]++;
while (*argv[2] != '\0') *argv[1]++ = *argv[2]++; //此时argv[1],argv[2]都指向最后一个字符,不能用作连接后输出
cout << p << endl;
return 0;
}
int main(int argc,char **argv)
{
char *p = argv[1]; //记得使用指针记录argv[1]的头
while (*argv[1] != '\0') *argv[1]++;
while (*argv[2] != '\0') *argv[1]++ = *argv[2]++; //此时argv[1],argv[2]都指向最后一个字符,不能用作连接后输出
cout << p << endl;
return 0;
}