开发者社区 问答 正文

用数组名作函数参数与用数组元素作实参有哪些不同呢?

用数组名作函数参数与用数组元素作实参有哪些不同呢?

展开
收起
游客4ztx2pti3xtdw 2022-03-29 19:14:55 936 分享 版权
1 条回答
写回答
取消 提交回答
  • 1、用数组元素作实参时,只要数组类型和函数的形参变量的类型一致,那么作为下标变量的数组元素的类型也和函数形参变量的类型是一致的。 2、在普通变量或下标变量作函数参数时,形参变量和实参变量是由编译系统分配的两个不同的内存单元。在函数调用时发生的值传送是把实参变量的值赋予形参变量。在用数组名作函数参数时,不是进行值的传送,即不是把实参数组的每一个元素的值都赋予形参数组的各个元素。 因为实际上形参数组并不存在,编译系统不为形参数组分配内存。那么,数据的传送是如何实现的呢?在我们曾介绍过,数组名就是数组的首地址。 因此在数组名作函数参数时所进行的传送只是地址的传送,也就是说把实参数组的首地址赋予形参数组名。形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。

    2022-03-29 19:15:27
    赞同 展开评论
问答地址: