kio <lehchao <at> gmail.com> writes: > > Hi, > > I'm studying the CPython source code. I don’t quite understand why > they’re using PyObject_VAR_HEAD to define struct like PyListObject. To > define such kind of struct, could I use _PyObject_HEAD_EXTRA as a > header and add "items" pointer and "allocated" count explicity? Is > there any difference?
No, PyObject_VAR_HEAD adds a ob_size field, which is used to indicate the size of the list. PyList uses this just as a convenience; it does not actually use varsize mallocing. You could use PyObject_HEAD if you added an additional size field. -- http://mail.python.org/mailman/listinfo/python-list