1.1 SEXPs
Next: Environments and variable lookup,Previous: R Internal Structures,Up: R Internal Structures
1.1 SEXPs
R 用户所说的 变量 或 对象只是绑定一个值的符号(symbols)而已。这些值可以认为是SEXP (一个指针),或者它指向的结构SEXPREC (向量有另外一种形式,即指向 VECTOR_SEXPREC 结构的VECSXP)。因此 R 对象的基本构建块常常被称为节点(nodes),表示 SEXPRECs 或者 VECTOR_SEXPREC。
注意,SEXPREC的内在结构不可以被 R 的扩展所访问: SEXP 是一种不透明指针(opaque pointer),并且 内核只可通过提供的函数访问。
两种节点结构的开始三个字段是32位的sxpinfo 字头(header),随后是三个指针(放在一个双向链表中分布指向属性以及前后节点),然后是一些其它字段。在32位平台上,一个节点1占用 28 字节:在64位平台上,通常是56个字节(取决于系统的字节对齐限制(alignment constraints))。
头字段的开始5位最多可以指定32个 SEXPTYPE。
Footnotes
[1] 严格意义上来说,SEXPREC节点和 VECTOR_SEXPREC 节点虽然比较小但其后有数据紧跟。
Hits:Loading...
- Previous Page: 1 R 内部结构
- Next Page: 1.1.1 SEXPTYPEs
