我要完成的工作的本质如下。我想将一个整数地址(整数指针)以字符串的形式传递给一个期望整数指针作为参数的函数。就简单的代码而言,我想做以下事情:
void dsp(int *);
int main() {
char *b;
int a=2;p=&a;
b = (char *)malloc(100*sizeof(char));
sprintf(b, "%p",p);
puts( b );
dsp(&a);
dsp((int *)strtol(b,16));
free(b);
return 0;
}
void dsp(int *addr)
{
printf("val:%d\n",*addr);
}
这就是我的输出:
0x7fbffffa6c (from puts(b))
val:2
Segmentation fault
有人可以建议上面有什么问题和/或如何解决吗?任何帮助,将不胜感激。谢谢你。