TC官方合作论坛
标题:
求教数组的问题,
[打印本页]
作者:
852491
时间:
2012-10-20 23:17
标题:
求教数组的问题,
学TC 看到数组这里了,谁能帮我简单的介绍一下数组,我看教程看了6编了,还是看不懂,谁能给我举个例子,把数组形像的介绍一遍,
新人跪谢了
作者:
shine宝宝
时间:
2012-10-20 23:20
TC的数组实现(目前最高支持三维数组)
数组原型 类型[维数] 变量名=类型[数组长度]
//一维数组一个方括号,二维数组两个方括号,三维数组三个方括号(如:int[] a,int[][] aa,int[][][] aaa)
string[] test=string[10] //这里表示实例化一个一维数组,长度为10,用数组变量test去访问它其实这个可以拆成两步
string[] test //这里只是定义一个一维数组的变量,它只能接一维数组的实例化或者已经被实例化的一维数组的变量,当然一定是一个字符型的一维数组
test=string[2] //这里是把test实例化,实例化成一个 长度为2的一维数组,如果test前面被实例化过,那重新实例化后,前面的数据会被冲掉
test[0]="this is a test" //数组成员的使用,只有被实例化,然后 下标没有越界 的数组调用才有效,不然会被错
test=string[5] //这里的实例化会把前面的实例化的数据冲掉
关于数组越界:
int[] num=int[3] //定义了一个包含3个整型元素的数组,下标从0开始,长度减1结束(因为数组下标从0开始,所以num数组包含num[0],num[1],num[2]这三个
元素,如果我们使用num[3]就会出现数组越界的情况,同样因为数组下标从0开始,如果我们使用num[-1]也是数组越界,所以假设我们定义一个长度为N的数组,设访问该数组的下标范围为X,那么我们要遵守 0 <= X <= N-1 ,否则数组下标就会越界)
一维举例1:
整型[] 我的数组=整型[3] //定义了一个一维数组 我的数组 含有3个整型元素
我的数组[0]=30 //数组第一个元素赋值为30
我的数组[1]=50 //数组第二个元素赋值为50
我的数组[2]=100 //数组第三个元素赋值为100
鼠标.移动(我的数组[0],我的数组[1]) //鼠标移动到屏幕30,50的位置
一维举例2:
字符型[] 字符数组=字符型[3] //定义了一个一维数组
字符数组[0]= "TC " //组第一个元素赋值为 "TC "
字符数组[1]= "你好" //组第二个元素赋值为 "你好"
字符数组[2]= 字符数组[0] + 字符数组[1] //字符串连接后 赋给 字符数组[2]
辅助.消息框(字符数组[2]) //输出 TC 你好
二维举例:
整型[][] 二维=整型[3][2] //这里可以理解为定义了一个一维数组包含三个元素,这三个元素中每个元素又包含了一个一维数组,里面包含两个元素
二维[0][0]=100 //二维数组第一个元素为 二维[0][0],最后一个元素为 二维[2][1](根据数组越界公式)
二维[0][1]=200
二维[1][0]=300
二维[1][1]=400
二维[2][0]=500
二维[2][1]=600
整型 求和=二维[0][0] + 二维[0][1] + 二维[1][0] + 二维[1][1] + 二维[2][0] +二维[2][1] //求和值为2100
定义函数返回值或参数为数组类型的举例,假设空间名为arrayTest:
功能 字符型[] 数组测试(字符型[] a)
a[0]="TC"
a[1]="你好"
返回 a
功能结束
功能 逻辑型 开始_点击()
//这里添加你要执行的代码
string[] a=string[2],b //定义数组a并初始化其长度为2,定义数组b但没有初始化数组b
a[0]="aaaaa" //赋值a[0]为"aaaaa"
a[1]="bbbbb" //赋值a[1]为"bbbbb"
help.messagebox(a[0]) //输出 "aaaaa"
help.messagebox(a[1]) //输出 "bbbbb"
a=string[3] //重新初始化数组a 使其长度为3 这里会把之前的两次复制操作清空这时候a[0] a[1]均为空字符
a[0]="11111" //赋值a[0]为"11111"
a[1]="22222" //赋值a[1]为"22222"
a[2]="33333" //赋值a[2]为"33333"
help.messagebox(a[0]) //输出 "11111"
help.messagebox(a[1]) //输出 "22222"
help.messagebox(a[2]) //输出 "33333"
b=arrayTest.数组测试(a) //调用函数 数组测试() 数组将b自动初始化为长度为3的数组(因为实参数组a的长度是3) PS:arrayTest是空间名
help.messagebox(b[0]) //输出 "TC"
help.messagebox(b[1]) //输出 "你好"
help.messagebox(b[2]) //输出 "33333"
返回 真
功能结束
复制代码
LZ可以搜一搜C语言关于数组的教程
作者:
shine宝宝
时间:
2012-10-20 23:20
TC数组功能 第十四章
http://bbs.tyuyan.com/thread-14018-1-1.html
作者:
zc1835429
时间:
2012-10-21 00:01
知道变量是什么吗?
数组就是多个由多个变量组成的集合,比如说:
定义两个整形变量a,b
用数组表示就是 整型【2】数组=整型【2】其中2表示的就是数组里面成员(也可以说是变量)的个数,还有数组的第一个成员(变量)一定是0,例如数组【0】,第二个就是数组【1】,切记,还有要注意的是假如说定义数组的成员是2个,那么数组里面就只能有两个变量及数组【0】,数组【1】不能超过数组定义的个数,否则就会出现错误。
希望可以帮助到你
作者:
saga
时间:
2012-10-21 01:27
既然楼主要的是形象的介绍,. 那么俺就来一段(不敢保证让你彻底明白,有所了解还是可以的). :
兄弟知道血液化验么? 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
看我教程吧
作者:
feng123144
时间:
2012-10-21 12:58
楼上的教程不错,一维,二维很形象
作者:
852491
时间:
2012-10-21 21:48
回复
5楼
saga
的帖子
呵呵,太生动形象了,很有幽默感,有个了解了,在问一下,我学TC的目的就是写脚本,用来自动打怪,自动交易什么的,这个数组用得上吗??还有,你们平时都用数组来做什么呢
作者:
852491
时间:
2012-10-21 21:49
回复
6楼
夏末
的帖子
夏末,你的教程很出名,我去看看。
作者:
852491
时间:
2012-10-21 21:50
回复
4楼
zc1835429
的帖子
嗯,明白了一些,谢谢你,
作者:
852491
时间:
2012-10-21 21:51
回复
2楼
shine宝宝
的帖子
哥们,全是英文啊,我得仔细研究研究
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1