C语言子模块中函数入口参数名可以跟全局变量名(结构体变量)一样吗

我为我的模块硬件接口设置定义了一个结构体Ili9481_Ctl_Inf然后我在主程序中定义了一个结构体变量Ili9481_Ctl_Infctl_inf;再然后我在主程序中... 我为我的模块硬件接口设置定义了一个结构体Ili9481_Ctl_Inf

然后我在主程序中定义了一个结构体变量Ili9481_Ctl_Inf ctl_inf;

再然后我在主程序中调用了模块中的这个函数

void ili9481_Set_IO_PORT(Ili9481_Ctl_Inf* ctl_inf,GPIO_TypeDef* dataBus)//这个DATABUS对这个问题没有什么影响不用理会。

现在问题来了,这个模块中的入口参数名可以跟我定义的全局结构体变量名一样吗?
这两个之间有什么关系?

谢谢
展开
 我来答
hqc500
2012-05-12
知道答主
回答量:11
采纳率:0%
帮助的人:12.4万
展开全部
可以,他们之间没有直接联系。入口参数(形参)与外面的全局变量,如同你在某一函数中定义一个与全局变量同名的局部变量一样,函数会优先考虑局部变量,忽略全局变量。所以你的形参与全局变量一样名字,函数不会去调用全局变量,而会去调用与形参对应的实参
binglink
2012-05-12 · TA获得超过1101个赞
知道小有建树答主
回答量:639
采纳率:0%
帮助的人:477万
展开全部
可以同名。
形参的作用域只在它所在的函数中, 在函数ili9481_Set_IO_PORT中ctl_inf是形参, 全局变量ctl_inf被屏蔽。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谁让我揩油
2012-05-12 · TA获得超过1294个赞
知道小有建树答主
回答量:326
采纳率:0%
帮助的人:201万
展开全部
你问题也没必要问的这么复杂吧?
不就想问,形参和实参可不可以同名呗。
二者是否同名没什么关系。同名的情况下,二者作用域不同,当调用函数时,实参将值传给形参,然后函数调用过程中会暂时屏蔽同名实体变量,等函数调用完,形参就会释放。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式