实参数组名与形参数组名的尴尬

来源:互联网 发布:不用网络直接玩的游戏 编辑:程序博客网 时间:2024/05/01 07:24

1.实参数组名代表一个固定的地址,或者说是指针型常量,因此要改变其值是不可能的。

例如:a++; //语法错误,a是常量,不能改变

2.形参数组名是指针变量,并不是一个固定的地址值,它的值是可以改变的。

例如: f(array[ ],int n)

{

cout<<array;

array=array+3;

cout<<*array<<endl;

}


要真正明白为何上述程序是正确的,那么要先明确:C++编译系统将形参数组名一律作为指针变量来处理!

例如:void select_sort(int array[ ],int n)

在编译时被解释为:void select_sort(int *array,int n)


这个时候应该可以理解:实参数组名是一个地址值,而形参数组名被编译器解释为一个指针变量。

0 0