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。