VB中const用法

为什么可以这样用Const SPIF_UPDATEINIFILE = &H1??SPIF_UPDATEINIFILE本身不就是vb的一个常数吗(api函数 SystemParametersInfo的参数fuWinIni的一个可取常量),怎么还可以给他赋值呢??这个貌似跟const pi =3.14159不同啊,求高人指点啊。。。。

const类似于常用的dim函数,b中const源于constant,意思为不变常量。用const声明的是固定的整数,字符串。为了在一行中声明若干个常数,可以使用逗号将每个常数赋值分开。用这种方法声明常数时,如果使用了 Public 或 Private 关键字,则该关键字对该行中所有常数都有效。

在给常量赋值的表达式中,不能使用变量,用户自定义的函数,或 Visual Basic 的内部函数(如 Chr)。

注意 常数可以使程序更具可读性,以及易于修改。在程序运行时,常数不会象变量那样无意中被改变。

如果在声明常数时没有显式地使用 As type 子句,则该常数的数据类型是最适合其表达式的数据类型。

在 Sub、Function 或 Property 过程中声明的常数都是该过程的局部常数。在过程外声明的常数,在包含该声明的模块中被定义。在可以使用表达式的地方,都可以使用常数。

CONST定义的是常量,也就是说这个值在整个程序运行过程中不能被修改,首先增加了安全性
其次,比如定义常量PI(圆周率)为3.14,而事后希望改为3.1415。那么就直接修改定义处的值就可以了复次,常量的作用还有避免书写错误和易于修改。

扩展资料:

const修饰的量为一个常量即不能被修改的量。但在C语言(C89)中的const可以不初始化但后续也就无法对其赋值,所以尽管不初始化不会出错。但要使用const修饰的量就需要对其进行初始化。

const修饰的量为一个常量,可以做左值且不能修改它的值。只有当给const修饰量的值不明确的时候会退化成一个常变量。

在一个C++工程中的多个.cpp文件中要用到某一个.cpp文件中const修饰的量是无法访问的,这是由于常量的符号类型为local的,只在当前文件可见,其余文件无法访问。如若想要访问这个const修饰的量,需在定义处加上extern。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-03

用法

为了在一行中声明若干个常数,可以使用逗号将每个常数赋值分开。用这种方法声明常数时,如果使用了 Public 或 Private 关键字,则该关键字对该行中所有常数都有效。

在给常量赋值的表达式中,不能使用变量,用户自定义的函数,或 Visual Basic 的内部函数(如 Chr)。

注意 常数可以使程序更具可读性,以及易于修改。在程序运行时,常数不会象变量那样无意中被改变。

如果在声明常数时没有显式地使用 As type 子句,则该常数的数据类型是最适合其表达式的数据类型。

在 Sub、Function 或 Property 过程中声明的常数都是该过程的局部常数。在过程外声明的常数,在包含该声明的模块中被定义。在可以使用表达式的地方,都可以使用常数。

扩展资料:

语句示例

该示例使用 Const 语句来声明用于代替文字值的常数。Public常数在标准模块的通用部分声明,而不是在类模块中声明。Private 常数可以在任何模块类型的通用部分声明。

缺省情况下常数是私有的。

ConstMyVar=459'声明公用常数。

PublicConstMyString="HELP"'声明私有的整数常数。

PrivateConstMyIntAsInteger=5'在一行中声明多个常数。

ConstMyStr="Hello",MyDoubleAsDouble=3.4567

本回答被网友采纳
第2个回答  推荐于2017-09-17

Const 语句

声明用于代替文字量的常数。

Const 语句示例

该示例使用 Const 语句来声明用于代替文字值的常数。Public
常数在标准模块的通用部分声明,而不是在类模块中声明。Private 常数可以在任何模块类型的通用部分声明。

'缺省情况下常数是私有的。
Const MyVar = 459

'声明公用常数。
Public Const MyString = "HELP"

'声明私有的整数常数。
Private Const MyInt As Integer = 5

'在一行中声明多个常数。
Const MyStr = "Hello", MyDouble As Double = 3.4567

第3个回答  推荐于2017-09-17
const是定义常数,例如:const pi =3.14159,那么你在代码中输入pi就相当于输入3.14159。就是用一个类似变量的东西代替数值提高可读性,但要注意,它不是变量。SPIF_UPDATEINIFILE并不是VB里面的常数,要使用的话必须定义常数。VC有微软提供的支持库,所以可以直接使用。追问

那为什么让它等于&H1呢??

追答

这并不是必须的,人为定义的,你也可以不定义SPIF_UPDATEINIFILE常数,直接在程序里使用&H1,不同的参数传入函数后有不同的结果,而&H1对应的就是“把新的系统参数的设置内容写入用户配置文件”,这是API文档的说明,而让代码可读性更强的话就用Const SPIF_UPDATEINIFILE = &H1,当然,SPIF_UPDATEINIFILE这个名字不是必须的,可以自己改。如果你尝试让它等于&H2,那么Const SPIF_UPDATEINIFILE = &H2这句是没错,但是按照使用的习惯来说,当你传给函数这个参数的时候会发生意想不到的后果,就像把一个单词Apple翻译成香蕉一样。

追问

貌似有点懂了,多谢高手。。。。

本回答被提问者采纳