在C语言中,变量有效性的范围称变量的作用域。不仅对于形参变量,C语言中所有的量都有自己的作用域,按作用域范围不同,可分为局部变量和全局变量两种变量类型。
在LoadRunner中应用全局变量和局部变量的示例脚本如下:
图4.9 LoadRunner 9.5 Web(HTTP/HTML)协议脚本代码截图
上面代码是在LoadRunner 9.5中编写完成,请参见图4.9左侧,其包含一个文件名称为“globals.h”,您可以在该头文件中定义全局变量,这里我们定义了一个全局整型变量,它的名称为“icount”,初始值为10,请参见globals.h头文件内容:
#ifndef _GLOBALS_H #define _GLOBALS_H //-------------------------------------------------------------------- // Include Files #include "lrun.h" #include "web_api.h" #include "lrw_custom_body.h" //-------------------------------------------------------------------- // Global Variables int icount=10;//全局变量 #endif // _GLOBALS_H |
int a=8,b=15; /*a,b为全局变量*/ int max(int a,int b) /*a,b为局部变量*/ { return a>b?a:b ; } int incb() { ++b; lr_output_message("incb()函数中的a=%d,b=%d",a,b); } Action() { int a=10;//局部变量 lr_output_message("a=%d,b=%d",a,b); incb(); lr_output_message("a=%d,b=%d",a,b); lr_output_message("max(%d,%d)=%d",a,b,max(a,b)); lr_output_message("globals.h中的全局变量icount=%d", icount); return 0; } |
在Action部分,起始声明了两个整型全局变量,a并赋予初值8,b赋予初值15。接下来,声明了两个整型数比较函数max(),在max()函数中,有两个整型参数,a和b。incb()函数,实现了对全局变量加一,而后,输出全局变量a和b。Action()中,先声明了局部变量a,并赋初值为10,接下来,输出局部变量a和全局变量b,又通过调用incb()函数对全局变量b进行加一,同事输出a和b。这里先给大家提一个问题,就是此时a的值应该输出的是全局变量a还是局部变量a的值?请读者朋友们认真考虑一下。后续还输出max(a,b),这里同样存在上面的问题,最后输出“globals.h”文件中的全局变量icount的值。