在前面的章节中,我们学习了数据类型、进程、线程等概念,也熟悉了不同数据类型,本质上是指不同长度的内存空间。由于我们向计算机申请一段内存,它只会返回这个内存的地址,而这个地址是二进制形式(实际是以16进制显示),只有计算机能秒懂,人类是看不懂的。针对32位CPU,用16进制表示线性地址,其取值范围为0x00000000~0xffffffff。64位CPU,其取值范围为0x0000000000000000~0xffffffffffffffff。假设我们在64位操作系统中申请一个byte类型的内存空间,这时计算机在0x00004578ABCD0001处开辟好了,我们要用这个地址去做数据处理是极其不便的,于是,我们设计了一个“变量”的概念,利用一个标识符去代指这段内存地址。

如下所示

byte v = 0;

这里的v表示变量名,v指向的内存地址就是0x00004578ABCD0001,当我们给v赋值为1时,实际上就是地址为0x00004578ABCD0001的内存数据被改为1。

v=1;

所以,我们创造性地用字母v代表了内存地址0x00004578ABCD0001。将来,对变量v进行各种操作运算,实际上就是对内存地址0x00004578ABCD0001进行了各种操作运算。

这就是变量的由来。

变量的命名规则

  • 只能以字母、数字、下划线和@符号组成
  • 只能以字母、下划线或 @ 符号开头
  • 数字可以放在中间或结尾
  • @符号不能放在中间或结尾

注意事项

  • 变量名不能与C#关键字重复
  • 大小写敏感,比如变量名age和Age是两个不同的变量
  • 变量名不能重复定义

变量的声明和初始化

声明和初始化一个变量,就是向计算机申请开辟内存的过程。声明表示我们要开辟多长的内存空间,初始化表示真正执行开辟动作。这就好比向房管局递交设计图纸,这只能表明要建多大的房子,房管局最终指定可以在哪儿建,这时才可以打地基,真正开始建房。

变量的声明和变量的初始化实际上是两个步骤,不过在编程时写成一句代码。下面是它的格式

关键字 变量名 = 初始化值

例如上面的声明代码

byte v = 0;

在这个示例中,byte表示关键字,v表示变量名,并且在声明这个变量时,给它初始化了一个0。下一节,我们介绍C#的byte类型。

——重庆教主 2023年12月21日