解释什么是全局变量,如何定义
2个回答
展开全部
其实,变量根据其在程序中的定义点不同,分为局部和全局变量。
在函数内部定义的变量为局部变量;
在所有函数外部定义的变量为全局变量。
全局变量的作用域是从该变量定义的位置开始,直至源文件借宿。在同一文件中的所有函数都可以引用为全部变量。
全局变量存储类型一般可以定义为:static型和exterm型,默认为extern型。
而其static型全局变量作用域定义点开始至本源文件内的所有函数,其他源文件内的函数不能使用;extern型全局变量作用域为定义点开始至源文件内的所有函数,同时可以被其他源文件内的函数使用,在使用之前要加外部说明,关键字仍然是extern.
在函数内部定义的变量为局部变量;
在所有函数外部定义的变量为全局变量。
全局变量的作用域是从该变量定义的位置开始,直至源文件借宿。在同一文件中的所有函数都可以引用为全部变量。
全局变量存储类型一般可以定义为:static型和exterm型,默认为extern型。
而其static型全局变量作用域定义点开始至本源文件内的所有函数,其他源文件内的函数不能使用;extern型全局变量作用域为定义点开始至源文件内的所有函数,同时可以被其他源文件内的函数使用,在使用之前要加外部说明,关键字仍然是extern.
展开全部
Public 声明的就是全局的..简单点说,就是可以被所有窗体里的Sub调用的变量,一般放在标准模块里
转贴内容如下:
VB 共享数据 全局变量
在用VB开发软件时,经常需要在不同的窗体间共享数据,但在过多的使用全局变量时不便于软件的调试和修改。通常有两种解决方法。
第一种方法:定义全局变量,然后在各个窗体中直接使用,例如
Public strCustomerID As String
Public strCustomerName As String
第二种方法:添加一个模块专门用于定义变量,然后定义一些Public过程或函数来设置和获取这些数据,例如
Dim strCustomerID As String
Dim strCustomerName As String
Public Sub SetCustomerID(CustomerID As String)
strCustomerID = CustomerID
End Sub
Public Function GetCustomerID() As String
GetCustomerID = strCustomerID
End Function
Public Sub SetCustomerName(CustomerName As String)
strCustomerName = CustomerName
End Sub
Public Function GetCustomerName() As String
GetCustomerName = strCustomerName
End Function
其实这两种方法都有缺点,使用第一种方法时,当过程或函数中过于频繁的使用全局变量时会给调试和修改程序带来很大的工作量,有时会产生灾难性的后果。使用第二种方法时,若共享数据很多,则需要定义很多的Set*和Get*函数。
转贴内容如下:
VB 共享数据 全局变量
在用VB开发软件时,经常需要在不同的窗体间共享数据,但在过多的使用全局变量时不便于软件的调试和修改。通常有两种解决方法。
第一种方法:定义全局变量,然后在各个窗体中直接使用,例如
Public strCustomerID As String
Public strCustomerName As String
第二种方法:添加一个模块专门用于定义变量,然后定义一些Public过程或函数来设置和获取这些数据,例如
Dim strCustomerID As String
Dim strCustomerName As String
Public Sub SetCustomerID(CustomerID As String)
strCustomerID = CustomerID
End Sub
Public Function GetCustomerID() As String
GetCustomerID = strCustomerID
End Function
Public Sub SetCustomerName(CustomerName As String)
strCustomerName = CustomerName
End Sub
Public Function GetCustomerName() As String
GetCustomerName = strCustomerName
End Function
其实这两种方法都有缺点,使用第一种方法时,当过程或函数中过于频繁的使用全局变量时会给调试和修改程序带来很大的工作量,有时会产生灾难性的后果。使用第二种方法时,若共享数据很多,则需要定义很多的Set*和Get*函数。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询