LoadRunner 脚本学习 -- 指针基础
先搞清楚 ++a 和 a++的区别
++a : 前缀++, 先自增,后表达式
a++ : 后缀++, 先表达式,后自增
前缀,自增立即生效。
后缀,下次才会看到效果。
一维数组的指针
Action(){
int score[]={,,,};
int *p=score;
int i;
for (i=;i<=;i++)
lr_output_message("kkk=%d",*p++);
return ;
}
*p++: 指针取值,并向后移一位
*(p++): 很蛋疼的理解。 ++ 是后缀,前后缀的威力最大,因此同*p++ 。 也可以这么理解,指针p++移一位,但因为是后缀,下次移动才生效,所以效果是等同于*p++
Starting action Action.
Action.c(8): kkk=100
Action.c(8): kkk=98
Action.c(8): kkk=78
Action.c(8): kkk=55
Action.c(8): kkk=0
Ending action Action.
数组申明是[5],实际只有4个数,第5个则为0.
*++p: ++为前缀,那就是p先移一位并立马生效的,再取数组的值
Starting action Action.
Action.c(8): kkk=98
Action.c(8): kkk=78
Action.c(8): kkk=55
Action.c(8): kkk=0
Action.c(8): kkk=81723452
Ending action Action.
(*p)++: ++后缀,取指针p的值,然后这个值自增,后缀下次才生效
Starting action Action.
Action.c(8): kkk=100
Action.c(8): kkk=101
Action.c(8): kkk=102
Action.c(8): kkk=103
Action.c(8): kkk=104
Ending action Action.
++(*p): 取指针p的值,然后这个值自增,因为是前缀,立即生效
Starting action Action.
Action.c(8): kkk=101
Action.c(8): kkk=102
Action.c(8): kkk=103
Action.c(8): kkk=104
Action.c(8): kkk=105
Ending action Action.
++*p++: 结合上面的不难理解,取数组的值,指针移一位,取出来的这个值自增。 *和++优先级一样,从右往左运算
Starting action Action.
Action.c(8): kkk=101
Action.c(8): kkk=99
Action.c(8): kkk=79
Action.c(8): kkk=56
Action.c(8): kkk=1
Ending action Action.
二维数组的指针
Action()
{
int erwei[][] = {{,,},{,,}};
int (*p1)[] = erwei;
int i, j; for(i=; i<; i++)
{
for(j=; j<; j++) {
lr_output_message("*(*(p1+%d)+%d) =%d",i,j,*(*(p1+i)+j));
} }
return ;
}
Starting action Action.
Action.c(10): *(*(p1+0)+0) =2
Action.c(10): *(*(p1+0)+1) =3
Action.c(10): *(*(p1+0)+2) =4
Action.c(10): *(*(p1+1)+0) =5
Action.c(10): *(*(p1+1)+1) =6
Action.c(10): *(*(p1+1)+2) =7
Ending action Action.
int (*p1)[3]: 申明二维数组的指针,[3] 表示指针的长度,和二维数组的每组大小一致
*(p1+i):移动指针第一维度,即第几组
*(*(p1+i)+j):在指针的第一维度下,移动指针第二维度,即在那组里的第几个
LoadRunner 脚本学习 -- 指针基础的更多相关文章
- Loadrunner脚本学习总结
1.1 web脚本录制选择Web(HTTP/HTML)协议: 注意录制脚本前选择如下协议: 1.2 脚本如果需要使用如下函数: web_reg_save_param.web_fin ...
- LoadRunner 脚本学习 -- 使用动态链接库
DLL = Dynamic Link Library DLL最重要的一个特点就扩展应用程序的特性. 再强大的工具也有不是万能的,通过调用动态库的方法极大地增强loadrunner的功能.当你在用loa ...
- LoadRunner 脚本学习 -- 读取文件内容
随便创建个txt文档 输入点内容,例如 读取文件内前N个字符: Action() { long myfile; ; ]; char *filename = "E:\\kkk.txt&quo ...
- LoadRunner 脚本学习 -- 动态储存方式和静态储存方式
我们在定义变量是,根据定义的位置不同,分为全局变量与局部变量.我出生在一个叫“舞阳”的小县城,在这个县城中也有人名“舞阳”,前一个作用于整个县城,后一个只作用于他个人.那么从变量值的存在生存期角度,又 ...
- LoadRunner 脚本学习 -- 随机函数运用
直接上码 Action() { int randnum; randnum = rand()%+; lr_output_message("随机得到的数是:%d", randnum); ...
- 学习 shell脚本之前的基础知识
转载自:http://www.92csz.com/study/linux/12.htm 学习 shell脚本之前的基础知识 日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写sh ...
- 【黑客基础】Windows PowerShell 脚本学习(上)
视频地址:[黑客基础]Windows PowerShell 脚本学习 2019.12.05 学习笔记 1.$PSVersionTable :查看PowerShell的版本信息. 2.PowerShel ...
- Bat 脚本学习 (基础篇)
[转]Bat 脚本学习 2015-01-05 14:13 115人阅读 评论(0) 收藏 举报 基础部分: ============================================== ...
- LoadRunner脚本编写(转)
性能测试工程师要懂代码么?答案是必须的.好多测试员认为在loadrunner中编写脚本很难很牛X ,主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不多了.还有非计算机专业出身的测试员 ...
随机推荐
- ios xib 中的 size class
需要阅读UITraitCollection的说明文档,先截图如下: 今天说说xib中的size class的简单设置,先看图 一共有9个小块,水平方向代表width,垂直方向代表height. 对于w ...
- Centos6.5 Openvpn的安装与配置
一.安装准备 ? 1 2 yum -y install openssl-devel openssl yum -y install gcc gcc-c++ 二.OpenVPN服务端安装过程1.lzo下载 ...
- Spring配置数据源
Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0.可以在Spring配置文件中利用这两者中任何一个配置数据源. DBCP数据源 DBCP类包位于 ...
- BestCoder19 1001.Alexandra and Prime Numbers(hdu 5108) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5108 题目意思:给出一个数正整数 N,N <= 1e9,现在需要找出一个最少的正整数 M,使得 ...
- springmvc多文件上传
@RequestMapping(value = "/upload", method = RequestMethod.POST) public void upload(@Reques ...
- chrome进入控制台时自动进入断点模式的解决方法
简单粗暴,不知道为什么,去掉那个√就好了
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)
大家好,本篇是接上一篇 ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言 ASP.NET SignalR WebIM系列第二篇.本篇会带领大家将 LayIM ...
- iOS小技巧总结,绝对有你想要的
原文链接 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIV ...
- oracle学习不错的网站
http://oracle-base.com/articles/linux/rlwrap.php
- 自定义Log模块
BuildConfig.DEBUG默认为true,在为app打上SignedKeyStore之后就为false, // Log控制器 MyLoger.openDebutLog(true); MyLog ...