以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  【弱问】关于变量的作用域。。。  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=65962)


--  作者:breezeintopl
--  发布时间:8/16/2008 11:07:00 AM

--  【弱问】关于变量的作用域。。。
说:

在复合语句中定义的变量,其作用域只在复合语句范围内。

这句活是什么意思?

能不能举个小例子说明一下下。

谢谢!!!


--  作者:卷积内核
--  发布时间:8/23/2008 10:15:00 AM

--  
if(!nMAX && !nHDMI)
  {
   BOOL bInit=FALSE;
   DWORD dwMaxChannelNum = -1;

   if(OSversion<6)
   {
    bInit = pInitRtSound();
    if(bInit && pGetMaxChannelNum(&dwMaxChannelNum))
    {
     if(6 <= dwMaxChannelNum)
      *dwTestReturn = 0x00002183;
     if(8 <= dwMaxChannelNum)
      *dwTestReturn = 0x0000219D;
    }
...


例如上面的红色语句,出了该if语句就不起作用了。


--  作者:enyaxp
--  发布时间:8/27/2008 7:12:00 PM

--  

复合语句也叫“块”,是由一对大括号括起的程序序列。在其中定义的变量其作用域为复合语句内部及其子块中。

for(int i = 0; i != MAXNUM; i++)
{
      unsigned long sum = 0;   //这里定义局部变量sum
      ......                             //以下都为其作用域
      ......

      if(!cnt)
      {
            sum += buf[i];         //子块中也为其作用域
            ......
      }
      ......
      ......
}                                        //作用域结束,变量sum被销毁,访问非法。

           
以下是引用breezeintopl在2008-8-16 11:07:00的发言:
说:

在复合语句中定义的变量,其作用域只在复合语句范围内。

这句活是什么意思?

能不能举个小例子说明一下下。

谢谢!!!



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms