我知道variable test 5 cells allot
不能保证分配一个连续的内存块,而create test 1 , 2 , 3 , 4 , 5 ,
肯定会创建一个连续的内存块。
variable
定义为: variable create 0 , ;
allot
变量的更多单元格是否不能保证连续扩展内存块,因为每个单词只能调用一次create
?
例:
create test 1 , 2 ,
test 3 , 4 , 5 ,
<<<<这不一定会连续扩展数组,对吗?
我的假设正确吗?
-
标准中的措辞使
VARIABLE
和CREATE
可以自由地将数据放在不同的内存区域中。 如果他们这样做,显然CREATE
或ALLOT
无法扩展VARIABLE
创建的区域。 -
CREATE
可以从任何单词中多次调用。
你 的例子可能不太符合你的想法。 第二行调用
test
,将其地址留在堆栈上。 然后它放置三个单元格,这些单元格确实扩展了分配给test
的区域。您关于
VARIABLE
定义的假设对于所有实现都是正确的。