VB用户自定义的变量定义与不定义有什么区别?
3个回答
展开全部
在计算机中所有数据最终都化成2进制来储存,比如十进制的7化二进制就是111
所以那就产生一个问题,就是一般在计算机中储存一个个数据是以字节为单位的,一个字节八个位,(在计算机中还有补码等一些规则这里就是举个例子)那就是说如果用一个字节存放十进制7的话就是00000111
那就产生一个问题,万一我以后这个地址的数据我要存放十进制100也没有问题就是01100100,那万一要是要存放10000这个十进制数呢,那就需要2个字节了,如果数字更大就要4个字节等等,在所有程序在计算机中运行之前要申请内存空间用来放数据的话就先要告诉操作系统每个变量常量要开多大空间内存。
之所以VB里你不定义不会报错是因为编译时,编译系统自动替你补了变量申请这步,但这就有个问题了,就是机器不知道你每个变量要用多大空间的,所以系统帮你补的变量定义都是默认的方法,比如它看到整数就补个整数变量类型,但其实整数变量里还分短整数长整数等等,所以万一它帮你自动申请的那些变量你以后用的时候溢出了什么的你就不可控制了。所以好的习惯是应该要先申请变量后使用。这样你自己能控制变量的使用情况了
还有避免有的时候自己明明申请了变量,用的时候多打了1个字母什么的,根据VB的特性是不会报错的,所以很难发现错误,就可以在模块开头加上“Option Explicit”用来强制所有变量使用前先申明,所以就碰到那些笔误的错误会报错了
所以那就产生一个问题,就是一般在计算机中储存一个个数据是以字节为单位的,一个字节八个位,(在计算机中还有补码等一些规则这里就是举个例子)那就是说如果用一个字节存放十进制7的话就是00000111
那就产生一个问题,万一我以后这个地址的数据我要存放十进制100也没有问题就是01100100,那万一要是要存放10000这个十进制数呢,那就需要2个字节了,如果数字更大就要4个字节等等,在所有程序在计算机中运行之前要申请内存空间用来放数据的话就先要告诉操作系统每个变量常量要开多大空间内存。
之所以VB里你不定义不会报错是因为编译时,编译系统自动替你补了变量申请这步,但这就有个问题了,就是机器不知道你每个变量要用多大空间的,所以系统帮你补的变量定义都是默认的方法,比如它看到整数就补个整数变量类型,但其实整数变量里还分短整数长整数等等,所以万一它帮你自动申请的那些变量你以后用的时候溢出了什么的你就不可控制了。所以好的习惯是应该要先申请变量后使用。这样你自己能控制变量的使用情况了
还有避免有的时候自己明明申请了变量,用的时候多打了1个字母什么的,根据VB的特性是不会报错的,所以很难发现错误,就可以在模块开头加上“Option Explicit”用来强制所有变量使用前先申明,所以就碰到那些笔误的错误会报错了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询