主题:急!数组名带顺序数字的数组,循环如何引用进行顺序计算?
小小学徒
[专家分:0] 发布于 2007-01-22 12:12:00
有的数组名组成有两部分:前面是字符,后面是顺序数字.如,a1[n],a2[n],a3[n]......请问循环如何引用这些数组进行顺序计算?如不能需建子程序,我没建过(所以,一直回避),能否告诉我怎样建?重谢!
最后更新于:2007-01-22 14:38:00
回复列表 (共9个回复)
沙发
小小学徒 [专家分:0] 发布于 2007-01-22 19:02:00
硬着头皮建了子程序,其实也不难,问题解决.但还是觉得用循环更简单些,数组名是不是可以当作字符串,运算后和循环变量[I]联系起来,想过,可想不出办法来.
板凳
moz [专家分:37620] 发布于 2007-01-23 09:20:00
在 FoxPro 里有一种方法号宏替代符号 &
在 C 里面有一种方法叫指针
在QB里没有,不过你可以找到它的地址,
根据数据类型变通调用
3 楼
小小学徒 [专家分:0] 发布于 2007-01-23 12:18:00
请问MOZ君,怎样找地址,找到地址后又具体该怎样?能否提示两句?谢.
4 楼
我白芦花 [专家分:190] 发布于 2007-01-23 12:30:00
这样是不行的,数组名只是一个符号,编译后不一定还在的
c中的指针,它也不是通过数组名建立影射的,
5 楼
moz [专家分:37620] 发布于 2007-01-23 13:33:00
[quote]数组名只是一个符号,编译后不一定还在的[/quote]
呵呵,那你可以编译试试看看嘛.
数组在内存里的段地址: varseg ( S(0) ) '以0开始
数组在内存里的偏移地址: varptr ( S(0) ) '偏移地址,一般从0开始
varptr ( S(1) ) '=varptr( s(0) ) + 类型长度
知道储存的位置,你爱干嘛干嘛去了.
peek, poke
6 楼
小小学徒 [专家分:0] 发布于 2007-01-24 10:29:00
地址问题对我太难了,目前不打算深究了,这个问题我想通了,很简单,增加一维就是了,同时文件也不用建那么多,记录增加一维就行了,只是程序要重写了.
7 楼
moz [专家分:37620] 发布于 2007-01-24 13:01:00
当然,问题简单起来就是增加一维就可以了.
只是当你数组过大超过64K的时候你又要另想办法了
(最好用虚拟文件)
8 楼
小小学徒 [专家分:0] 发布于 2007-01-24 22:48:00
何谓虚拟文件?愿闻其详.谢MOZ君多次关照.
9 楼
moz [专家分:37620] 发布于 2007-01-25 10:01:00
在DOS年代里,处理的基本内存是 640K
多出来的内存又有扩展内存和扩充内存.
于是就有各种各样的内存工具出现了.
其中就有一个虚拟驱动器.例如:
驱动 srdisk
调用 shroom
现在一般的DOS版本都有这样的工具了.
可以把部分内存虚拟成一个不存在的驱动器,
所有操作跟文件一样,但却不是建立在硬盘的介质上,
所以就有了内存的速度.
特点: 快速,临时.
我来回复