TC官方合作论坛

标题: 在TC中数组增加函数,怎么在多维数组中使用? [打印本页]

作者: 846161533    时间: 2014-2-18 14:49
标题: 在TC中数组增加函数,怎么在多维数组中使用?
比如:


  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 15:22
获取大小,重定义,直接赋值
作者: dongyijun1979    时间: 2014-2-18 17:22
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)

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







欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1