变量的作用域
来源:互联网 发布:淘宝买鱼缸 编辑:程序博客网 时间:2024/04/27 15:55
C++中变量的作用域一般是两个对应的花括号之间的区域。下面一段程序:
int main()
{
int sum=0;
for(int i=0; i<10; i++)
{
sum += i;
}
cout << sum << endl;
return 0;
}
变量sum的作用域是整个main函数,而变量i的作用域为for循环内。在编写代码的时候,有时可能会使用同名的变量,当然这样的编码风格会存在大量的BUG!例如:
int main()
{
int i=0;
for(int i=0; i<10; i++)
{
}
cout << i << endl;
return 0;
}
上面存在两个变量i,在for循环内,实际递增的是第二个i,所以最后输出i应该为0。实际编码要尽量避免变量重名。接下来一段程序是项目过程中遇到的BUG程序:
int k=0;
//将整数转化为字符串
for(int j=num, k=0; j>0&&k<10; j/=10, k++)
{
ch[k] = j%10 + '0';
}
ch[k] = '\0';
程序在for循环内不小心重新声明一个k,导致之前定义的k被屏蔽,结果可想而知。
上述错误,排查了很久,其根本原因是编码风格不良和对变量作用域的忽视。
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- 变量的作用域
- java 多态性
- A+B for Input-Output Practice (II)
- Kindle资源
- 一些C++语法
- oracle exp出现"ORA-00302:必须说明SET_NO_OUTLINES 组件" 解决方法
- 变量的作用域
- makefile
- Stream 和 EOF
- string 函数总结
- gdb+jlin纯linux环境调试arm
- Shell & Wait 的程序怎么写?
- A+B for Input-Output Practice (III)
- Activity(一)
- WriteFile()写串口