c语言的函数定义时,变量为数组与变量为一个元素,有什么区别?

c语言的函数定义时,变量为数组与变量为一个元素,有什么区别?

变量为数组,则调用者在调用时,传递的是一个地址值(数组名就是个地址),这好比对方告诉你他家的地址,通过这个地址,你可以访问他家中的任何人、物,你在这个地址中的一举一动都在影响这个家里的变化。
变量为元素,则调用者在调用时,传递的是一个数的数值。这好比,对方只告诉了你一个人名,你拿到这个人名,无论怎么修改,也只是改你这里的,人家还是叫人家的名字!追问

函数调用时传递参数有什么区别?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-03
1、任何一个头文件中,或者c文件的非自编函数中定义的变量都是全局变量;
2、可以,如:void
f(char
*sinput)
;就是这样的函数。
第2个回答  2012-11-03
数组是由多个元素组成的
传数组进去则函数可以访问这个数组的所有元素
传元素进去则函数只能访问这个元素
第3个回答  2012-11-03
数组是分配了连续的多个相同类型的变量的集合,方便操作;单个变量连续定义,结果分配的存储空间可能不是连续的,操作起来不方便。当我们要是使用表示同样意义的多个变量时,可以使用数组。单个的我们就使用普通的变量就可以。。。
第4个回答  2012-11-03
变量为数组时,传递的是数组的地址,也就是数组名,通过这个地址被调函数可以访问调用函数数组的所有元素,并且可以修改调用数组元素的值、
变量为一个元素,那就是值传递的方式,被调函数不会对调用函数中的参数值产生影响。实际上就是一次数值拷贝的过程。
相似回答