c语言std变量,10-C ++中的变量

变量是赋予存储位置的名称。它是程序中存储的基本单位。可以在程序执行期间更改存储在变量中的值。

变量只是给存储位置指定的名称,对变量执行的所有操作都会影响该存储位置。

在C ++中,必须在使用前声明所有变量。

如何声明变量?

典型的变量声明的形式为:// 声明单个变量

type variable_name;

// 声明多个变量

type variable1_name, variable2_name, variable3_name;

变量名可以由字母(大写和小写),数字和下划线“ _”字符组成。但是,名称不能以数字开头。

37215a78fd9e23dfdc64cc05e032cfc2.png

在上图中,

datatype:可以存储在此变量中的数据类型。

variable_name:赋予变量的名称。

value:它是存储在变量中的初始值。//声明float变量

float simpleInterest;

//声明整数变量

int time,rate;

//声明字符变量

char var;

变量声明和定义之间的区别

变量声明是指其中一个变量被首先声明或在其首次使用之前引入的部分。

变量定义是其中变量分配的存储器位置和一个值的部分。在大多数情况下,变量声明和定义是一起完成的。

请参阅以下C ++程序以获得更好的说明:#include 

using namespace std;

int main()

{

//声明和定义

//变量“a123”的

char a123 = 'a';

//这也是声明和定义

//因为“b”是分配的内存和

//分配了一些垃圾值。

float b;

//多个声明和定义

int _c, _d45, e;

// Let us print a variable

cout <

return 0;

}

变量类型

根据C ++中变量的范围,存在三种类型的变量:局部变量

实例变量

静态变量

ed97444cf147195d0394945c863f6c84.png

现在让我们详细了解这些变量中的每一个。局部变量:在块,方法或构造函数中定义的变量称为局部变量。这些变量是在输入的块或从该块退出后调用并销毁该函数或从该函数返回调用时销毁的。

这些变量的范围仅存在于声明该变量的块中。也就是说,我们只能在该块中访问这些变量。

局部变量的初始化是强制性的。

示例程序1:// C++ program to demonstrate Local variables

#include 

using namespace std;

void StudentAge()

{

// 局部变量 age

int age = 0;

age = age + 5;

cout <

}

// Driver code

int main()

{

StudentAge();

}

输出:

学生年龄是:5

在以上程序中,变量age是函数StudentAge()的局部变量。如果我们在StudentAge()函数外部使用变量age,编译器将产生一个错误,如下面的程序所示。

示例程序2:// C++ program to demonstrate Local variables

#include 

using namespace std;

void StudentAge()

{

// local variable age

int age = 0;

age = age + 5;

}

// Driver code

int main()

{

StudentAge();

cout <

}

实例变量:实例变量是非静态变量,并且在任何方法,构造函数或块之外的类中声明。当实例变量在类中声明时,这些变量在创建类的对象时创建,而在对象被销毁时被销毁。

与局部变量不同,我们可以对实例变量使用访问修饰符。如果我们未指定任何访问说明符,则将使用默认的访问修饰符。

实例变量的初始化不是强制性的。

实例变量只能通过创建对象来访问。

示例程序:// C++ program to demonstrate Local variables

#include 

using namespace std;

class Marks {

public:

// This is a class variable

static int studentNumber;

// These variables are instance variables.

// These variables are in a class

// and are not inside any function

int engMarks;

int mathsMarks;

int phyMarks;

public:

Marks()

{

// Modify the class variable

++studentNumber;

};

};

// Setting the class variable of Marks

int Marks::studentNumber = 0;

// Driver code

int main()

{

// first object

Marks obj1;

obj1.engMarks = 50;

obj1.mathsMarks = 80;

obj1.phyMarks = 90;

// second object

Marks obj2;

obj2.engMarks = 80;

obj2.mathsMarks = 60;

obj2.phyMarks = 85;

// displaying marks for first object

cout <

cout <

cout <

cout <

cout <

// displaying marks for second object

cout <

cout <

cout <

cout <

cout <

}

输出:

第一个对象的标记:

2

50

80

90

第二个对象的标记:

2

80

60

85正如您在上面的程序中看到的那样,变量engMarks,mathsMarks和phyMarks是实例变量。如果上面的程序中有多个对象,则每个对象将有其自己的实例变量副本。从上面的输出中可以清楚地看到,每个对象都有自己的实例变量副本。静态变量:静态变量也称为类变量。这些变量的声明与实例变量的声明类似,不同之处在于,在任何方法构造函数或块之外的类中,使用static关键字声明静态变量。

与实例变量不同,无论我们创建多少个对象,每个类只能有一个静态变量的副本。

静态变量在程序执行开始时创建,并在执行结束时自动销毁。

静态变量的初始化不是强制性的。默认值为0

如果我们通过对象访问诸如实例变量之类的静态变量,则编译器将显示警告消息,并且不会停止程序。编译器会自动将对象名称替换为类名称。

如果我们访问不带类名的静态变量,则编译器将自动附加类名。

要访问静态变量,我们不需要创建该类的对象,我们只需将变量访问为

class_name :: variable_name;

示例程序:// C++ program to demonstrate Static variables

#include 

using namespace std;

class Marks {

public:

// This is a class variable

static int studentNumber;

// These variables are instance variables.

// These variables are in a class

// and are not inside any function

int engMarks;

int mathsMarks;

int phyMarks;

Marks()

{

// Modify the class variable

++studentNumber;

};

};

// Setting the class variable of Marks

int Marks::studentNumber = 0;

// Driver code

int main()

{

// object of Marks

Marks obj1;

obj1.engMarks = 50;

obj1.mathsMarks = 80;

obj1.phyMarks = 90;

// displaying marks for first object

cout <

// Now to display the static variable,

// it can be directly done

// using the class name

cout <

// But same is not the case

// with instance variables

cout <

cout <

cout <

}

输出:

物体标记:

1

50

80

90

实例变量Vs静态变量每个对象都有自己的实例变量副本,而我们每个类只能有一个静态变量副本,无论我们创建了多少个对象。

使用一个对象对实例变量进行的更改不会反映在其他对象中,因为每个对象都有自己的实例变量副本。如果是静态的,则更改将反映在其他对象中,因为静态变量是类的所有对象共有的。

我们可以通过对象引用访问实例变量,并且可以使用类名直接访问静态变量。

静态变量和实例变量的语法:类示例

{

static int a; //静态变量

int b; //实例变量

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值