通常被称为等于

1.3在变量一看(和CIN)

亚历克斯,2007年5月30日

变量

声明称为x = 5就足够了这样。你会想,我们是X的分配值5但究竟是什么?X是一个变量。

C++中的一个变量的一块内存可以用来存储信息的一个名字。你可以把一个变量作为一个邮箱,或一个舒适的地方,我们可以把和检索信息。所有的计算机内存,称为RAM(随机存取存储器),以供程序使用。当一个变量被声明,那一段记忆是预留的,可变的。

在本节中,我们只考虑整数变量。一个是整数,如1,2,3,1,12,或16。一个整型变量是一个变量,只能容纳一个整型值。

为了声明一个变量,我们通常使用的声明。这里的变量声明X为整数变量的一个例子(一个可以容纳整数值):

1

int x;

当这个语句被执行的CPU,RAM中的一块内存将被搁置。举例来说,假设变量x是分配的内存位置140。当程序把x的值在一个表达式或语句,它知道它应该在内存中的位置140。

一种最常见的操作变量赋值。要做到这一点,我们使用赋值操作符,通常被称为等于,俗称=符号。当CPU执行一个语句如x = 5;,把这“5值在内存中的位置140″。

后来在我们的节目,我们可以打印该值使用cout屏幕:

1

cout << x;/打印x的值(内存位置140)到控制台

在C++中,变量也被称为左值(明显的魔法值)。一个左值是一种价值,有一个地址(在内存中)。因为所有的变量都有地址,所有的变量是左值。他们最初命名为左值是因为他们是唯一可以在赋值语句的左边的值。当我们完成任务,的赋值运算符的左边必须是一个左值。因此,声明5 = 6;将导致一个编译错误,因为5不是一个左值。5值没有记忆,因此没有什么可以分配给它的。5,5,和它的价值不能被重新分配。当一个左值有分配给它的价值,当前值覆盖。

相反的左值右值。右值是指任何值,可以被分配给一个左值。右值总是求值并产生一个单一的价值。实例的右值是单数(如5,评估5),变量(如X,评估任何数量上分配给它的),或表达(如2+X,X + 2的评估上的价值)。

这里是一些赋值语句的一个例子,说明如何右值评价:

1

2

3

4

5

6

7

8

y;//声明y为整型变量

y=4;//4值为4,然后将其分配到Y

Y = 2 + 2 + 5 / 5;值为7,然后将其分配到Y

int x;//声明X为整数变量

X = Y;/ Y的值为7,然后将其分配到X

x = x;/ / x的值为7,然后将其分配到X(没用!)

x = x + 1;/ / x + 1的计算结果为8,然后将其分配到X

有注意到两个重要的东西。第一,是没有保证你的变量将被分配相同的内存地址,每一次你的程序运行。你第一次运行你的程序,X可能被分配到的内存位置140。第二次,它可能被分配到的内存位置168。第二,当一个变量被分配到一个存储位置,在内存位置的值是未定义的(换句话说,无论价值是去年依然存在)。

这可能会导致有趣的(和有趣的,我们的意思是危险的)结果。考虑以下的短节目:

1

2

3

4

5

6

7

8

9

10

11

/ / #包括“程序。H / /取消如果VisualStudio用户

#包含iostream > <

国际main()

{

使用std命名空间;/让我们触及到cout和endl

int x;//声明一个整数变量x

/ /打印x的值到屏幕(危险,因为X是未初始化的)

cout << x << endl;

}

在这种情况下,计算机会分配一些闲置的内存,它将把价值所在的内存位置的法庭,它将打印值。但什么样的价值将它打印吗?答案是“谁知道!“。你可以试着在你的编译器运行这个程序,看它的价值版画。给你举个例子,当我们运行这个程序与旧版本的Visual Studio编译,cout印制价值858993460。一些较新的编译器,如Visual Studio 2005表示会弹出一个调试错误消息,如果你在IDE中运行这个程序。

一个变量没有被分配一个值被称为未初始化的变量。未初始化变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值