使用空指针是C语言中通用数据类型的可移植方法(假设我不想使用预处理器宏或联合类型)吗?出现这个问题的原因是,因为我想将uint64_t数据存储在32位Linux发行版(=> sizeof(void *)= 4字节)的void指针中,将uint64_t类型转换为(void *)是否安全?传递给函数,然后稍后将其类型转换回uint64_t以检索数据?
在uint64_t“中” 存储数据void *或在“指向void的指针”中存储任何其他类型的数据的常见方法是使该指针指向类型uint64_t(或任何其他所需类型)的对象,然后对象保留该值。
对于某些人来说,这似乎似乎太明显了,但至少在Stack Overflow上每周都会出现一次,尤其是在使用pthread_create和pthread_join-使用这些API的情况下,您将需要使该指针指向回调中可能需要的所需数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。