C语言中形参与实参名字一致运行时会怎么样?

C语言中形参与实参名字一致运行时会怎么样?也就是说它们虽然同名但在内存中的存储位置是不同的?... C语言中形参与实参名字一致运行时会怎么样?
也就是说它们虽然同名但在内存中的存储位置是不同的?
展开
 我来答
一页凌风
2009-04-20 · TA获得超过1907个赞
知道小有建树答主
回答量:434
采纳率:25%
帮助的人:384万
展开全部
楼上说形参只是一个位置,那么实参就不是一个位置么?这样说来,任何语句其实都是一个位置对应在硬件上。所以不能那么解释。
根源在于:形参也是一个变量,但是这个变量是一个局部变量。
例如我们定义了一个全局变量,在函数内定义了一个和全局变量同名的局部变量,想必大家都清楚,局部变量会隐藏全局变量,即是说全局变量在这个函数内是不可用的。
这和形参的道理是一致的。
参数传递实际上是一个初始化的过程,就是定一个形式参数,将实际参数赋值给他。首先,类型一定要匹配。其次,同名没有关系,就好像是全局变量和局部变量的关系一样

补充:非常正确。一个函数就是一个独立的栈,每一个函数有自己的栈,只要函数销毁,局部变量就会销毁。
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
cwc_2009
2009-04-20 · TA获得超过304个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:171万
展开全部
形参和实参的名字一样不要紧,其实最重要的是他们的数据类型要一样.
如下面代码
#include <stdio.h>
int add(int a,int b)
{
return a+b;
}
int main()
{
int a =2;
int b =5;
printf("%d",add(a,b));
return 0;
}

输出结果为:7
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2009-04-20 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65786
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
是否一致没有任何影响,形式参数只是一个位置,翻译为机器语言全部是[BP+NNNN]的堆栈地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咏姗兒
2009-04-20
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
没影响
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式