毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

VB全局变量和私有变量为什么不起冲突

更新时间:2012-5-18:  来源:毕业论文

在窗体中就一个列表框
当值等于1~100中每个数时,对这个数进行1~这个数相加,如50,从1~50进行相加。下面代码能实现这个功能,问题是i怎么就不会出错的?

Private Sub Form_Load()
  Dim i As Integer

  On Error GoTo handlerror

  List1.Clear
   
  For i = 1 To 100
  List1.AddItem i & "=" & iSum(i)
  Next i

  Exit Sub
handlerror:

End Sub


Public Function iSum(dhi)
  Dim i As Integer
   
  For i = 1 To dhi
  iSum = iSum + i
  Next i

End Function
2个过程里的i都是局部的(私有),不会有冲突。

两个i都是局部变量,分别指向不同的内存地址,这是它们不是同一个变量的根本所在。
此外函数iSum的参数是传值,也就是传递一个变量的副本给它,Load中调用iSum,传递i给它,实际上就是创建一个i的副本(也就是iSum中i的内存地址)用它来计算。即使你修改了它,也不会影响到Load中的i 
1、全局变量:
  需要用 PUBLIC 声明;
  一般情况下,最好将所有的全局变量定义在单独的《模块》文件里,进行集中、统一的管理比较好!
2、模块变量:
  需要用 PRIVATE 声明即可;
  指类、或模块、或窗体中的任何一个方法或函数访问的,声明在方法体或函数体外面的变量;
3、私有变量:
  需要用 PRIVATE 或者 DIM 声明即可;
  指在方法体或函数体内声明的变量,且非 PUBLIC 访问级,所以这个变量只能被当前方法或函数访问使用;

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。