精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>游戏元素>>● 游戏开发>>杂项内容>>修改器>>手把手教你编游戏修改器(二)——变量

主题:手把手教你编游戏修改器(二)——变量
发信人: nhhai()
整理人: fenking(2000-02-05 02:34:02), 站内信件
手把手教你编游戏修改器(二)——变量
Write By Easyright

第一部分:基本类型
变量在初始化时,一般被赋为0或其他预设的值。而且每个变量在内存中都有自己
的地址,如果变量没有被初始化,它在内存中的地址就会保留一些不确定的值,
变量的值也就不能确定,所以一定要在变量被赋值后才能使用它。字符型(char)
:一般用来表示一个ASCII字符,在C/C++中,字符型数据和整型数据可以相互转
换;整型(int):一般用来表示一个整数,不能用来表示小数。在不同的编译器(
Compiler)中,int所占的位(bit)数是不同的,有的是16 bit,有的是32 bit;浮
点型(float):用来表示一个浮点数,一般占32 bit,不同的编译器情况也许会有
所不同。通常浮点数在计算机中是以科学计数法来表示的,1 bit表示正负号,3
 bit表示冥,1 bit表示冥的正负号,其他剩余的bit就用来储存小数。用这种方
法,在表示一些十分大或十分小的数时,可以节约很多空间(也就是bit);空类
型(void):是一种独一无二的类型——你不能赋给它任何值,一般用于一些特殊
需要的地方,例如函数的声明等。现在大家只需要知道有这种类型存在就行了,
而不需要担心你何时会看到它;布尔型(bool):用来表示一个布尔值(true/fals
e),它仅能被赋给true或false这两个值,其中可以用0代替false,用其他任何数
值代替true。
第二部分:类型修饰符
注意:以下这些修饰符的名字要放在以上那些标准类型的名字的前面,用来改变
变量所储存的值的范围。
有符号型(signed):用来指明变量可以储存正数和负数,也就是说,变量要用它
的最高位M.S.B.(Most Significant Bit)来储存数值的符号(0代表正数,1代表
负数),用其他位来储存数值。在计算机中,数值是以补码的形式存放的,正数
的补码就是该数的二进制数,负数的补码是将该负数的二进制数的每一位(M.S.B
.除外)取反,然后加1。
为什么要这样呢?那是为了在二进制的运算中得到正确的结果。具体原因大家可
以参考《计算机组成原理》,我们学校的教材,残旧不堪,88年第一版,竟然在
最后一页还印着“科技新书目”这五个大字。
在C/C++中,声明一个整数时会预定义为signed型。一般一个signed的整数取值范
围是-32768到32767;无符号型(unsigned):用来指明变量只可以储存正数,它不
是预定义的,你必须显式的声明它,否则将会是signed。一般一个unsigned的整
数取值范围是0到65535;短型(short):指明用较少的bit来储存变量,一般为16
 bit;长型(long):用来指明用较多的bit来储存变量,一般为32 bit,位数越多
,可以储存的数就越大;双精度型(double):指明用双倍的bit来储存一个浮点数
,一般是64 bit;常量(const):用来指明所声明的变量将会保持初始化的值,不
会改变;挥发型(volatile):用来通知编译程序,变量值可能按程序中没有显示
说明的方式改变。也就是说,尽管程序中没有显示的赋值语句改变一个变量的值
,但该变量的值也可能被其他外部条件改变。
第三部分:储存属性
注意:以下这些修饰符的名字要放在以上那些标准类型的名字的前面,用来改变
计算机访问变量的方法。
自动变量(auto):它是一个局部变量,也就是说,该变量的值只有在定义它的那
个局部才能使用。自动变量在初始化之前,它的值是不定的。如果没有显示声明
其他储存属性,系统就默认该变量为自动变量;外部变量(extern):用来告诉编
译器某个变量是在外部文件中声明的。这样,在连接时,连接器就会在外部文件
中找到该变量。也就是说你可以不用重新定义一个变量,而可以从其他文件中引
用这个变量。正因为如此,外部变量一定是全局变量(global variable);静态变
量(static):用来告诉编译器,当某一局部程序(例如函数)执行完毕后,其中
的静态变量的值能被保留下来,不会被释放。当你下次再调用这个函数时,此静
态变量的初值就是上一次调用结束时的值;寄存器变量(register):用来告诉编
译器变量将会储存在CPU的一个寄存器中,用来减少执行时间。通常把使用频率较
高的变量(如循环次数较多的循环变量)定义为register,可以优化代码。

如果想知最近更新,请留意游戏港
http://gameport.nanhai.net

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.64.115]

[关闭][返回]