TC官方合作论坛

 找回密码
 立即注册
查看: 2839|回复: 10

[脚本] 求教数组的问题,

[复制链接]
发表于 2012-10-20 23:17:48 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
学TC 看到数组这里了,谁能帮我简单的介绍一下数组,我看教程看了6编了,还是看不懂,谁能给我举个例子,把数组形像的介绍一遍,
新人跪谢了
回复

使用道具 举报

发表于 2012-10-20 23:20:03 | 显示全部楼层
  1. TC的数组实现(目前最高支持三维数组)



  2. 数组原型 类型[维数] 变量名=类型[数组长度]

  3. //一维数组一个方括号,二维数组两个方括号,三维数组三个方括号(如:int[] a,int[][] aa,int[][][] aaa)



  4. string[] test=string[10]  //这里表示实例化一个一维数组,长度为10,用数组变量test去访问它其实这个可以拆成两步

  5. string[] test             //这里只是定义一个一维数组的变量,它只能接一维数组的实例化或者已经被实例化的一维数组的变量,当然一定是一个字符型的一维数组

  6. test=string[2]            //这里是把test实例化,实例化成一个 长度为2的一维数组,如果test前面被实例化过,那重新实例化后,前面的数据会被冲掉

  7. test[0]="this is a test"  //数组成员的使用,只有被实例化,然后 下标没有越界 的数组调用才有效,不然会被错

  8. test=string[5]            //这里的实例化会把前面的实例化的数据冲掉



  9. 关于数组越界:

  10. int[] num=int[3]  //定义了一个包含3个整型元素的数组,下标从0开始,长度减1结束(因为数组下标从0开始,所以num数组包含num[0],num[1],num[2]这三个

  11. 元素,如果我们使用num[3]就会出现数组越界的情况,同样因为数组下标从0开始,如果我们使用num[-1]也是数组越界,所以假设我们定义一个长度为N的数组,设访问该数组的下标范围为X,那么我们要遵守 0 <= X <= N-1 ,否则数组下标就会越界)



  12. 一维举例1:

  13. 整型[] 我的数组=整型[3]  //定义了一个一维数组 我的数组 含有3个整型元素

  14. 我的数组[0]=30           //数组第一个元素赋值为30

  15. 我的数组[1]=50           //数组第二个元素赋值为50           

  16. 我的数组[2]=100          //数组第三个元素赋值为100

  17. 鼠标.移动(我的数组[0],我的数组[1]) //鼠标移动到屏幕30,50的位置



  18. 一维举例2:

  19. 字符型[] 字符数组=字符型[3]  //定义了一个一维数组

  20. 字符数组[0]= "TC "          //组第一个元素赋值为 "TC "

  21. 字符数组[1]= "你好"         //组第二个元素赋值为 "你好"

  22. 字符数组[2]= 字符数组[0] + 字符数组[1] //字符串连接后 赋给 字符数组[2]

  23. 辅助.消息框(字符数组[2])    //输出 TC 你好



  24. 二维举例:

  25. 整型[][] 二维=整型[3][2] //这里可以理解为定义了一个一维数组包含三个元素,这三个元素中每个元素又包含了一个一维数组,里面包含两个元素

  26. 二维[0][0]=100 //二维数组第一个元素为 二维[0][0],最后一个元素为 二维[2][1](根据数组越界公式)

  27. 二维[0][1]=200

  28. 二维[1][0]=300

  29. 二维[1][1]=400

  30. 二维[2][0]=500

  31. 二维[2][1]=600

  32. 整型 求和=二维[0][0] + 二维[0][1] + 二维[1][0] + 二维[1][1] + 二维[2][0] +二维[2][1] //求和值为2100



  33. 定义函数返回值或参数为数组类型的举例,假设空间名为arrayTest:



  34. 功能 字符型[] 数组测试(字符型[] a)

  35. a[0]="TC"

  36. a[1]="你好"

  37. 返回 a

  38. 功能结束



  39. 功能 逻辑型 开始_点击()

  40. //这里添加你要执行的代码

  41. string[] a=string[2],b   //定义数组a并初始化其长度为2,定义数组b但没有初始化数组b

  42. a[0]="aaaaa"             //赋值a[0]为"aaaaa"

  43. a[1]="bbbbb"             //赋值a[1]为"bbbbb"

  44. help.messagebox(a[0])    //输出 "aaaaa"

  45. help.messagebox(a[1])    //输出 "bbbbb"



  46. a=string[3]              //重新初始化数组a 使其长度为3 这里会把之前的两次复制操作清空这时候a[0] a[1]均为空字符

  47. a[0]="11111"             //赋值a[0]为"11111"

  48. a[1]="22222"             //赋值a[1]为"22222"

  49. a[2]="33333"             //赋值a[2]为"33333"

  50. help.messagebox(a[0])   //输出 "11111"

  51. help.messagebox(a[1])   //输出 "22222"

  52. help.messagebox(a[2])   //输出 "33333"



  53. b=arrayTest.数组测试(a)  //调用函数 数组测试() 数组将b自动初始化为长度为3的数组(因为实参数组a的长度是3) PS:arrayTest是空间名



  54. help.messagebox(b[0])   //输出 "TC"

  55. help.messagebox(b[1])   //输出 "你好"

  56. help.messagebox(b[2])   //输出 "33333"

  57. 返回 真

  58. 功能结束
复制代码


LZ可以搜一搜C语言关于数组的教程
回复 支持 反对

使用道具 举报

发表于 2012-10-20 23:20:29 | 显示全部楼层
TC数组功能  第十四章
http://bbs.tyuyan.com/thread-14018-1-1.html
回复 支持 反对

使用道具 举报

发表于 2012-10-21 00:01:00 | 显示全部楼层
知道变量是什么吗?
数组就是多个由多个变量组成的集合,比如说:
定义两个整形变量a,b
用数组表示就是 整型【2】数组=整型【2】其中2表示的就是数组里面成员(也可以说是变量)的个数,还有数组的第一个成员(变量)一定是0,例如数组【0】,第二个就是数组【1】,切记,还有要注意的是假如说定义数组的成员是2个,那么数组里面就只能有两个变量及数组【0】,数组【1】不能超过数组定义的个数,否则就会出现错误。
希望可以帮助到你
回复 支持 反对

使用道具 举报

发表于 2012-10-21 01:27:26 | 显示全部楼层
     既然楼主要的是形象的介绍,. 那么俺就来一段(不敢保证让你彻底明白,有所了解还是可以的).  :
兄弟知道血液化验么? OK 咱就那这个说.
   1:盛放血液样品的试管 都是有编号的,为啥? 防止错误, 0号是被检查的人A 1号是b  2号是c   他们都拿着挂号单,一一对应 这样拿去检验的时候才不会发生诊断错误, 试管架相当于数组,试管呢 就是数组的成员,血液呢?数组类型,血型呢? 成员的值, 一个试管架能放多少个试管 这叫数组大小. 试管编号就是数组的下标 比如:血液检验0号,血型o型,属于A病人 那么它就类似于:X[0]=o   就是说病人A的血型存放到了1号试管--------血液型数组X 的第一个成员 值是o   以此类推 因为数组规定 第一个成员下标是0
   2: 医生喊道:0号来拿检查结果.....这时候A看到自己的挂号单,,是0号 那么他就知道是叫他于是.......医生修理了A病人哈  这叫 按照下标查看数组存放的数据并进行加工利用.... 那要全部查看并加工利用怎么办? 乱点序号?这样容易漏掉 所以还是一个一个按序号大小来 这不....循环获取就出来了---也叫遍历;

  3:医生喊道:3号病人来拿结果.....我日 一共才3个病人. 编号0的是A 以此类推 C是2号 所以没有3号病人这医生脑子被驴踢了...当然没人来了..院长要开了他的.. 这时候叫数组越界,,,程序会崩溃...
回复 支持 反对

使用道具 举报

发表于 2012-10-21 07:08:07 | 显示全部楼层
看我教程吧
回复 支持 反对

使用道具 举报

发表于 2012-10-21 12:58:48 | 显示全部楼层
楼上的教程不错,一维,二维很形象
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-21 21:48:45 | 显示全部楼层
回复 5楼saga的帖子

呵呵,太生动形象了,很有幽默感,有个了解了,在问一下,我学TC的目的就是写脚本,用来自动打怪,自动交易什么的,这个数组用得上吗??还有,你们平时都用数组来做什么呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-21 21:49:34 | 显示全部楼层
回复 6楼夏末的帖子

夏末,你的教程很出名,我去看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-10-21 21:50:11 | 显示全部楼层
回复 4楼zc1835429的帖子

嗯,明白了一些,谢谢你,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-30 04:23 , Processed in 0.041745 second(s), 22 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表