我正在用C开发一个Python模块,它解析一个使用动态整数大小的非常有效的协议。使用此协议发送的整数的大小范围可以从C的“short”到“long long”。
协议有一个字节,指定发送的变量类型(从short到long long),但我不知道如何在代码中处理这个问题。现在,我正在设置一个void指针并按发送值的大小分配内存 - 然后使用atoi,atol和atoll设置该指针。问题是,我需要能够访问该值,并且如果没有在以后执行,我将无法执行此操作。
处理此问题有哪些好方法?
答案 0 :(得分:4)
要么始终将其存储在本地long long
中,要么将其放在struct
中,其中包含大小的标记和所有可能类型的union
。