如何从void *返回到int

前端之家收集整理的这篇文章主要介绍了如何从void *返回到int前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有
int a= 5;
long b= 10;
int count0 = 2;
void ** args0;
args0 = (void **)malloc(count0 * sizeof(void *));
args0[0] = (void *)&a;
args0[1] = (void *)&b;

如何将args [0]和args0 [1]转换为int和long?
例如

int c=(something im missing)args0[0]
long d=(something im missing)args1[0]

解决方法

假设你的& a0和& b0应该是& a和& b,并且你的意思是args0 [1]设置long d,你已经存储了一个指向args0 [0]和在args0 [1]中指向b的指针.这意味着您需要将它们转换为正确的指针类型.
int c = *((int *)args0[0]);
int d = *((long *)args0[1]);

猜你在找的C&C++相关文章