全局变量和公共变量是同一个概念,即对整个程序都有用的变量;
局部变量就是只对当前程序有作用,跳出当前程序后就没用了;
而私有变量和局部变量基本相同,但是是隐藏起来的,可以被当前程序调用,且不影响变量的初始值。
给你举个例子吧:
******主程序******* *******过程
CLEAR PROCEDURE PP
PUBLICx,y,z LOCALx
x=3 x=5
y=4 y=7
z=5 z=x+y
DO PP ENDPROC
?x+y+z
输出的结果是22
分析:左边的x,y,z都是全局变量,取值分别为x=3,y=4,z=5
右边的程序中的x是局部变量,y和z没有定义,按照左边程序的定义,仍然为全局变量。
对右边程序而言,x=5,y=7,z=x+y=12
对于左边程序而言,x取左边的程序中的3,右边程序对其定义的x=5已经不再起作用,而y和z是全局变量,所以取右边的值,即为7和12,所以x+y+z=3+7+12=22.
私有变量只能在当前程序或他调用的子程序和过程中使用,局部变量只能在创建它的程序中使用,不会影响调用或被调用的程序。公共变量和全局变量是一样的,可以被任何程序调用。vfp中就三种内存变量,公共变量,私有变量,局部变量