⑴ 请问:实参与形参各占独立的存储单元,对么,错在哪 形参是虚拟的,不掉用酒不沾内存,对么
使用值传递时,实参和形参是各自独立的。引用传递时,实参和形参是一体的。
使用值传递时,形参是被调用函数的局部变量,不调用函数就不会生成局部变量,所以可以认为是不调用就不占内存。
⑵ c语言形参和实参共占相同的存储空间
无论是不是指针,形参实参都不是占用相同的空间。不是指针时,形参和实参的值是相等的;当是指针时,形参和实参都指向同一个地址(其实也就是*p(形参)和*q(实参)的值是相等的),但绝不是相同存储空间
⑶ c语言的形参是否占存储单元
C。
函数的形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调逗芹函数;被调函数提供的原始数据。
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。实参和其所对应的形参分别占用不同的存储单元,彼此之间不影响。
(3)形参和实参类型存储空间扩展阅读:
形参和实参的特点
1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形锋派参变量。
2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值。
3、实参和形参在数量上,类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。
4、在一般传值调用的机制中只能把实参传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参值发生改变,而实参中的值不会变化。而在引用调用的机制当山基毕中是将实参引用的地址传递给了形参,所以任何发生在形参上的改变实际上也发生在实参变量上。
网络-形参
⑷ 在C语言中,函数的形参和实参可以占同一个存储单元,也可以占不同的存储单元吧
形参只是实参的一个副本,即拷贝,它们不能公用存储单元。
参数之间的传递分为数值传递与地址传递,如果是数值传递时,各自占用不同的内存单元,如果是地址传递时,共用同一段内存单元。
函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的回内存单元。
形参只是实参的一个副本,即拷贝,它们不能公用存储单元,不占相同的空间。
(4)形参和实参类型存储空间扩展阅读:
函数调用过程
1、函数的形参列于函数声明中,在函数定义的函数体内使用。在未出现函数调用时,形参不占内存中的存储单元;当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。
2、将实参的值传递给形参。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。
3、在执行函数期间,由于形参已经有值,可以利用其进行相关运算。
4、通过return语句将函数值带回到主调函数。
5、调用结束,形参单元被释放。实参单元仍保留并维持原值(值传递)。
⑸ C语言中实参和形参分别存放在内存的什么位置
形参只是一个符号,不会分配具体的空间的..当函数改闭册被调用的时候,具体给出的参数,也就是实参,其实是一份拷贝..它的内存空间在该函数的堆中进行分配.比如 定义函数 int add(int ,int); 在主函数中 定态仿义变量 int x, y..调核宏用函数 add(x, y);那么在函数add的堆中会分配出空间,来保存实参x y的拷贝..而主函数中的 x y 是在主函数的堆中保存的... 不晓得有没有说明白..呵呵
⑹ c语言中,函数发生调用时,实参和形参都会占用内存吗
是的,形参和实参是两个不同的存储单元,都占用内存空间,当函数调用结束后,形参的内存空间也就会被释放掉了。
⑺ 实参与形参分别占用不同的存储空间 这句话错在哪
实参可能占栈空间,也可能占静态空间,也老明可能占全枝正局空间等,形参只占栈空间。如果原话改成实猛含悔参与形参可能占用不同的存储空间就对了
⑻ 在c语言中 调用函数时,形参与实参可以共用存储单元吗
答案肯定的——形参和实参可以完全一样。
在程序执行的过程中,实参的作用域是主函数,只要程序没有停止,实参一直有效;
形参是定义函数是引入的参数,系统只在该函数被调用时分配临时内存,当自定义函数执行完后,用于临时储存形参的空间将被释放。
所以即使形参和实参的类型,名字完全一样,系统也能够把它们区分开。即可以完全一样。
注:解决这个疑问关键是要搞清楚变量作用域方面的内容。
⑼ 实参和形参都需要占用存储单元么
实参和形参各占用独立的存储单元。
实参和形参是各占独立存储空间,函数调用过程中,实参向形参拷贝复制值。实参是个变量,形参也是个变量。
如果占用同一片空间的话,编译时候就不存在实参形参类型不匹配的报错。参数传递中,形参值的改变不影响实参的值。
(9)形参和实参类型存储空间扩展阅读
形参和实参的区别
1、形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
3、实参和形参在数量上,类型上,顺序上应严格一致,否则会发生“类型不匹配”的错误。
4、函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。