Forth 数组中的连续内存



我知道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 , <<<<这不一定会连续扩展数组,对吗?

我的假设正确吗?

  • 标准中的措辞使VARIABLECREATE可以自由地将数据放在不同的内存区域中。 如果他们这样做,显然CREATEALLOT无法扩展VARIABLE创建的区域。

  • CREATE可以从任何单词中多次调用。

  • 的例子可能不太符合你的想法。 第二行调用test,将其地址留在堆栈上。 然后它放置三个单元格,这些单元格确实扩展了分配给test的区域。

  • 您关于VARIABLE定义的假设对于所有实现都是正确的。

相关内容

  • 没有找到相关文章

最新更新