免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8085 | 回复: 3
打印 上一主题 下一主题

函数形参作用域和函数中局部变量的作用域一样吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-01 10:37 |显示全部楼层 |倒序浏览
定义函数时,其形参的作用域和函数中局部变量的作用域一样吗?
void test(int param) {
    int param = 10;
}
以上函数中,形参的作用域和局部变量param的作用域一样吗?

论坛徽章:
0
2 [报告]
发表于 2012-06-01 10:41 |显示全部楼层
我觉得函数形参的作用域从小括号的位置就开始了,而局部变量的作用域是从第一个花括号开始的

论坛徽章:
0
3 [报告]
发表于 2012-06-01 10:54 |显示全部楼层
回复 3# 塑料袋
我觉得你第一条说的不对,变量的作用域是从声明变量的地方开始的。形参前有空格,说明形参在空格之后,所以形参的作用域不是从它前面的第一个小括号之后就开始的。


我现在的问题是:形参和局部变量的作用域是一样的吗?
我认为它们的作用域不一样,但是定义一个和形参同名的变量却编译错误,说明它们的作用域还是相同的。

论坛徽章:
0
4 [报告]
发表于 2012-06-01 11:10 |显示全部楼层
回复 7# 塑料袋


    我是说就算形参前有空格或者其他形参等等,形参的作用域还是从定义形参的那个地方就开始的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP