结构体
结构和联合是非常重要的数据类型,被大量的适用于 WIN32 的 API 和 Linux 的 libc 中。 一个结构变量就是一组简单变量的集合 (所有变量都占用空间)
这是c语言中的结构体,如下代码所示
struct test
{
int amt_barley;
int amt_water;
};
而在ctypes中创建一个类继承ctypes中的Structure
class test(Structure):
_fields_ = [
("a", c_int),
("b", c_int),
]
下图为python中结构体及使用
也可以如下图所示,创建变量的时候不传值,结构体中变量默认为0,然后通过打点调用的方式赋值就可以改变值
ctypes 很简单的就创建了一个 C 兼容的结构。
联合体
联合和结构很像。但是联合中所有变量同处一个内存地址,只占用一个变量的内存空间,