c语言程序中当调用函数时实参和形参,关于函数调用过程中的实参和形参问题...

作者:张老师,

C语言是一种面向过程的语言,它的程序执行过程是按逻辑顺序执行,在函数的函数体的定于位置与程序执行无关,该函数必须在程序执行过程中调用才能执行。

1186d25964d2e5046ba27c259576b245.png

上图中:main函数中调用的函数fun(),若在main函数的执行过程中(包括main函数调用的函数内部调用)没有调用fun()函数,则该函数永远不会被执行。

当调用fun函数时,系统会给形参变量在栈中分配相应的内存空间,即整形变量a,和指针变量p,同时将实参赋值给对应的形参,即使定义了相同的全局变量a或者指针变量p。但他们代表的不是相同的内存空间,所以他们互不影响。

即如:

a=10;p=”abc”;

a=i;p=p;

当该fun函数结束时,该函数内部所申请分配的空间被释放。

函数可能在程序中多次调用,因为形参需要用来存储实参对应的值,正是由于实参值具有不确定性,因此不能指定形参的值。函数的参数传递是赋值过程,则形参必须有特定的存储空间才能接受实参的值。在函数的实参只要满足赋值形参的赋值要求都可以。

正常的运行结果:

da07d229d65e9f910843d34129848635.png

若函数形参指定为确定的值而不是对应的变量则源文件编译不能通过。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值