我在这里阅读 pthreads 。在一个例子中,他们给出了这个源代码。
在创建线程时,他们将一个 long 类型,类型转换为 void * 类型传递给函数!。
在函数内部,他们接收这个值并反向转换以获得长值。
Q1:是否允许将指针类型转换为原始数据类型,反之亦然(在 C 和 C++ 中)?
Q2。如果是这样,这样做是一件好事吗?他们不应该创建一个指向这个 long 类型的指针,然后将这个指针类型转换为 void * 并将其传递给函数。
这种将原始类型转换为指针类型的想法让我很困惑?从任何指针类型到 void* 的转换是可以理解的,但是原始数据类型如何存储在 void* 类型中?在特定系统上,原始类型的大小是否有可能大于为指针类型分配的大小?