TC官方合作论坛

 找回密码
 立即注册
查看: 828|回复: 2

[已解决] 在TC中数组增加函数,怎么在多维数组中使用?

[复制链接]
发表于 2014-2-18 14:49:09 | 显示全部楼层 |阅读模式

马上加入TC

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

x
比如:


  1. var shuzu = array[][] //定义一个数组空间
  2. arraysp.add(shuzu,"123") //越界!
  3. arraysp.add(shuzu[0],"123") //越界!
  4. arraysp.add(shuzu[0][0],"123") //失效
复制代码

上面三种都无效,是不是增加函数只能用于一维数组?
var shuzu = array[]
这样的一维数组是可以用的。因为开始前并不知道需要的数组空间大小,所以开始的时候不能指定!
回复

使用道具 举报

发表于 2014-2-18 17:22:32 | 显示全部楼层
arraysp.add(shuzu,"123") //越界!
这一句 对数组元素的表示方法是绝对错误地,不能用单纯的用数组名表示数组元素,无论该数组是几维数组。

arraysp.add(shuzu[0],"123") //越界!
是对一维数组元素的表示方法。你此处定义的却是二维数组。

arraysp.add(shuzu[0][0],"123") //失效
至于这一句,我就说不清了。哈


虽然一维数组可以这样赋值。同样针对一维数组,但像下面这样就不行了。

  1. <P>var shuzu = array[] //定义一个数组空间

  2. //开始按钮_点击操作
  3. function start_click()
  4. arraysp.add(shuzu[2],"123") </P>
  5. <P>traceprint("shuzu[2]=" & shuzu[2])
  6. endfunction</P>
复制代码

也会提示 越界 的。



我认为你没必要为这问题纠结。
你 要么 初始定义数组的时候就定义成确定大小的,以后需要赋值的时候直接赋值,且可以随时重定义其大小(arrapsp.alloc)

要么像你代码中那样,初始时定义成空数组。在需要给其赋值的时候,在赋值语句前线重定义它的大小就可以了。


回复 支持 反对

使用道具 举报

发表于 2014-2-18 15:22:51 | 显示全部楼层
获取大小,重定义,直接赋值
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-24 09:50 , Processed in 0.034681 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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