结构体基本结构

from ctypes import *
# 自己定义的结构体必须继承基类Structure
class MyStructure(Structure):
# 结构体成员必须在字段_fields_中,且是可以是一个二元组或三元组
	_fields_ = [
		("member1", c_int)
		]
>>> sizeof(MyStructure)
4

作出以下修改

from ctypes import *
# 自己定义的结构体必须继承基类Structure
class MyStructure(Structure):
# 结构体成员必须在字段_fields_中,且是可以是一个二元组或三元组
	_fields_ = [
		("member1", c_int)
		("member2", c_int, 8)
		]
>>> MyStructure.member1
Field type=c_long, ofs=0, size=4>
>>> MyStructure.member2
Field type=c_long, ofs=4:0, bits=8>
——————————————————————————————————
也就是说元组中的第三个参数是位宽,位宽数值设置必须在变量位宽大小之内,
例如说member2成员定义的是int类型,int类型是8bytes(32bits), 如果member2
的位宽数值设置为大于32的数,那么运行的时候会报错。

结构体与数组互换

结构体的使用