在c/c++中,变量的声明和定义是不同的。
不同点:
- 定义创建了对象并分配了内存空间,而声明不会分配内存。
- 对一个变量或对象,可以声明多次,在相同作用域内,只能定义一次。
如果对定义的变量不进行初始化就直接使用的话,会产生意想不到的结果。
例如:
View Code
#include <iostream>
using namespace std;
int main()
{
int count;
for(int i = 0; i<5; i++)
{
count++;
}
cout<<count<<endl;
return 0;
}
输出的结果是不确定的。
例如:
const int x = 0;
int main(void)
{
int x = x;
cout<<x<<endl;
return 0;
}