pav*_*ium 2 language-features pascal
这是老程序员的问题.
几年前,我遇到了一种Pascal方言,通过某种扩展允许可变数量的参数.
有没有人知道Pascal的当前方言允许可变数量的参数?
考虑到Pascal不像以前那么受欢迎,如果答案是否定的,我不会感到惊讶.
顺便说一句,这是比较正确的,是不是,说了可变数量的参数,而不是参数?
不.答案是基于我使用的Pascal方言; 其他人可能不同.
原因是Pascal按顺序将参数压入堆栈帧,因此所有参数都是通过堆栈指针的固定偏移量访问的.相比之下,C以相反的顺序推送参数,因此定义的参数处于固定偏移量,您可以通过指针算法访问"额外"参数.我会尝试一些ASCII艺术:
Pascal C
---------------------
| extra arg |
--------------------- ---------------------
| 1st param | | 3rd param |
--------------------- ---------------------
| 2nd param | | 2nd param |
--------------------- ---------------------
SP -> | 3rd param | | 1st param |
--------------------- ---------------------
Run Code Online (Sandbox Code Playgroud)
至于参数与参数:当我学习它时,函数(方法)定义它的参数,调用者传递参数.我相信,这个定义来自Fortran手册,所以应该让你知道我多大了:-)
| 归档时间: |
|
| 查看次数: |
1660 次 |
| 最近记录: |