您的位置:首页 > 编程语言 > C语言/C++

C语言中,即使参数声明为数组,它仍然是个指针

2012-02-26 22:21 337 查看
转自:《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虽然声明为一个数组但实际上仍是一个指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐