|
变量声明是指变量在首次使用之前首次声明或引入变量的部分。变量定义是为变量分配内存位置和值的部分。大多数情况下,变量声明和定义是一起完成的。
请参阅以下 C++ 程序以更好地说明:
// C++ program to show difference between
// definition and declaration of a
// variable
#include <iostream>
using namespace std;
int main()
{
// this is declaration of variable a
int a;
// this is initialisation of a
a = 10;
// this is definition = declaration + initialisation
int b = 20;
// declaration and definition
// of variable 'a123'
char a123 = 'a';
// This is also both declaration and definition
// as 'c' is allocated memory and
// assigned some garbage value.
float c;
// multiple declarations and definitions
int _c, _d45, e;
// Let us print a variable
cout << a123 << endl;
return 0;
}
输出
a
时间复杂度:O(1)
空间复杂度:O(1)
变量的类型
根据 C++ 中变量的范围,有三种类型的变量
局部变量
实例变量
静态变量
现在让我们详细了解这些变量中的每一个。
局部变量:在块、方法或构造函数中定义的变量称为局部变量。
这些变量是在输入到块中时创建的,或者函数在退出块后调用和销毁时,或者当调用从函数返回时。
这些变量的作用域仅存在于声明变量的块中。也就是说,我们只能在该块中访问此变量。
局部变量的初始化是强制性的。
实例变量:实例变量是非静态变量,在任何方法、构造函数或块之外的类中声明。
由于实例变量是在类中声明的,因此在创建类的对象时会创建这些变量,并在对象销毁时销毁这些变量。
与局部变量不同,我们可以对实例变量使用访问说明符。如果我们没有指定任何访问说明符,则将使用默认的访问说明符。
实例变量的初始化不是强制性的。
实例变量只能通过创建对象来访问。
静态变量:静态变量也称为类变量。
这些变量以类似方式声明为实例变量,区别在于静态变量是在任何方法构造函数或块之外的类中使用 static 关键字声明的。
与实例变量不同,无论我们创建了多少个对象,每个类只能有一个静态变量的副本。
静态变量在程序执行开始时创建,并在执行结束时自动销毁。
静态变量的初始化不是强制性的。其默认值为 0
如果我们访问静态变量,如 Instance 变量(通过对象),编译器将显示警告消息,并且不会停止程序。编译器会自动将对象名称替换为类名称。
如果我们在没有类名的情况下访问静态变量,编译器将自动附加类名。
|
|