完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在使用ucgui时,因为跟踪一个功能函数,无意中看到图片中的那个函数,函数中有int key的定义,我记得C语言里是不允许在函数中间定义变量的,为何ucgui这里可以呢?百思不得其解。请大神帮忙指点指点,谢谢啦…………
|
|
相关推荐
4个回答
|
|
在条件语句里面临时压栈是允许的,我经常这么干
|
|
|
|
谁说不允许在函数中间定义变量了?
不管是C99还是非C99, 变量可以定义在函数外部,称为外部变量。 变量也可以定义在语句块内(Block,即大括号里面)。 若不开启C99模式,变量如果放在语句块内,必须在语句块最前面, C99的话任意位置亦可 |
|
|
|
这个和C语言的标准有关系吧,我记得C99就允许这么写,只要是在可执行语句前就行了
|
|
|
|
非常感谢大家的指点,尤其是周末回复还辣么快,再次感谢。我按照大家的指点,亲自在VC上做了简单的C程序测试,确实是可以的。就像4楼说的,在C中,只要变量定义在真正的执行语句前面,那么不管是定义在函数开头,还是中间的大括号语句块中,都是可以的,否则就不行。对于C++,就像3楼说的,变量定义可以在任意位置。贴个C测试程序,C:UsersAdministratorDesktop360.JPG让大家见笑了,哈哈哈
|
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:18 , Processed in 1.026250 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号