几点注意事项C++
2017-03-25 22:15
316 查看
1
int b[] = { 0 };
cout << sizeof(b) << endl;
int i = 9;
for (i = 0; i <= 5; i++)
{
b[i] = i;
cout << b[i] << endl;
}
cout << sizeof(b) << endl;
cout << i << endl;
------------------------------------------------
int b[] = { 0 };
cout << sizeof(b) << endl;
int i = 9;
for (int i = 0; i <= 5; i++)
{
b[i] = i;
cout << b[i] << endl;
}
cout << sizeof(b) << endl;
cout << i << endl;
1) 开始数组b int b[] = { 0 };已经确定变为一个int元素的数组,所以sizeof(b)为1*4为4个字节;虽然后面for循环将b数组元素扩充为6个,但是这种程序最好不要出现,因为一开始给数组分配内存为1个元素4个字节,后面for循环实际上超出了b数组的内存范围,导致溢出。后面的sizeof(b)依然为1*4为4个字节。
2)《变量的作用域是看变量定义在什么地方,而不是看用在什么地方》
第一段程序for循环里面的i在循环外面已经定义,所以循环用的i跟外面i是一个变量,最终 cout << i << endl;输出i为6,因为for循环改变了i的数值;
但是第二段程序 for (int i = 0; i <= 5; i++) 将i在内部定义,那么这个i跟外部的i不是一个变量,for循环内部i作用域只限于for循环内部,不影响外部i为9的数值,i输出还是i=9,不因为循环而改变!!
int b[] = { 0 };
cout << sizeof(b) << endl;
int i = 9;
for (i = 0; i <= 5; i++)
{
b[i] = i;
cout << b[i] << endl;
}
cout << sizeof(b) << endl;
cout << i << endl;
------------------------------------------------
int b[] = { 0 };
cout << sizeof(b) << endl;
int i = 9;
for (int i = 0; i <= 5; i++)
{
b[i] = i;
cout << b[i] << endl;
}
cout << sizeof(b) << endl;
cout << i << endl;
1) 开始数组b int b[] = { 0 };已经确定变为一个int元素的数组,所以sizeof(b)为1*4为4个字节;虽然后面for循环将b数组元素扩充为6个,但是这种程序最好不要出现,因为一开始给数组分配内存为1个元素4个字节,后面for循环实际上超出了b数组的内存范围,导致溢出。后面的sizeof(b)依然为1*4为4个字节。
2)《变量的作用域是看变量定义在什么地方,而不是看用在什么地方》
第一段程序for循环里面的i在循环外面已经定义,所以循环用的i跟外面i是一个变量,最终 cout << i << endl;输出i为6,因为for循环改变了i的数值;
但是第二段程序 for (int i = 0; i <= 5; i++) 将i在内部定义,那么这个i跟外部的i不是一个变量,for循环内部i作用域只限于for循环内部,不影响外部i为9的数值,i输出还是i=9,不因为循环而改变!!
相关文章推荐
- C++中生成随机数的几点注意事项
- VS 优化C++代码几点注意事项
- C# DLLImport C++ dll 几点注意事项
- 关于C++语句的几点注意事项
- C++开发的几点注意事项
- C++中指针初始化和使用注意事项
- C++异常注意事项
- client c++客户端编程注意事项
- c调用c++动态库的实现和注意事项(linux g++)
- C++之旅<友元函数的注意事项>
- c++ shared_ptr 使用注意事项. 1
- C++容器的注意事项
- c++表达式的一些小小的注意事项
- C++_重载运算符<< ostream流重载注意事项_使自定义数据可以用cout输出
- 《struts2 in action》学习问题——零配置——几点注意事项
- 关于postman使用的几点注意事项
- C++学习笔记-类定义的注意事项和C#的区别
- Brew中使用C++需要注意的事项
- c&c++混合编程的注意事项
- 【C++注意事项】1 数据类型及类型转换