C语言中形参与实参名字一致运行时会怎么样?
4个回答
展开全部
楼上说形参只是一个位置,那么实参就不是一个位置么?这样说来,任何语句其实都是一个位置对应在硬件上。所以不能那么解释。
根源在于:形参也是一个变量,但是这个变量是一个局部变量。
例如我们定义了一个全局变量,在函数内定义了一个和全局变量同名的局部变量,想必大家都清楚,局部变量会隐藏全局变量,即是说全局变量在这个函数内是不可用的。
这和形参的道理是一致的。
参数传递实际上是一个初始化的过程,就是定一个形式参数,将实际参数赋值给他。首先,类型一定要匹配。其次,同名没有关系,就好像是全局变量和局部变量的关系一样
补充:非常正确。一个函数就是一个独立的栈,每一个函数有自己的栈,只要函数销毁,局部变量就会销毁。
根源在于:形参也是一个变量,但是这个变量是一个局部变量。
例如我们定义了一个全局变量,在函数内定义了一个和全局变量同名的局部变量,想必大家都清楚,局部变量会隐藏全局变量,即是说全局变量在这个函数内是不可用的。
这和形参的道理是一致的。
参数传递实际上是一个初始化的过程,就是定一个形式参数,将实际参数赋值给他。首先,类型一定要匹配。其次,同名没有关系,就好像是全局变量和局部变量的关系一样
补充:非常正确。一个函数就是一个独立的栈,每一个函数有自己的栈,只要函数销毁,局部变量就会销毁。
TableDI
2024-07-18 广告
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配...
点击进入详情页
本回答由TableDI提供
展开全部
形参和实参的名字一样不要紧,其实最重要的是他们的数据类型要一样.
如下面代码
#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
如下面代码
#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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是否一致没有任何影响,形式参数只是一个位置,翻译为机器语言全部是[BP+NNNN]的堆栈地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询