转自:《C专家编程》
非参数指针:
int array[10], array2[10]; main(){ array[1] = 3; *array = 3; array = array2; /*失败*/ }指针实参: fun1(int *ptr){ ptr[1] = 3; *ptr = 3; ptr = array2; }数组实参:fun2(int arr[]){
arr[1] = 3;
*arr = 3;
arr = array2;
}
语句array = array2; 将引起一个编译错误,错误信息是“无法修改数组名”。但是,arr = array2却是合法的,因为arr虽然声明为一个数组但实际上仍是一个指针。