指向自己的指针C.

前端之家收集整理的这篇文章主要介绍了指向自己的指针C.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个在递归链末尾调用函数.这个函数需要弄清楚它在被调用的时候在内存中的位置.代码如下:
void recover ()
{
     int * x = (int *)&x;
}

问题是程序只是跳过这个语句,好像它从未写过.我在GDP中证实了这一点.你能想出为什么这条线被忽略的原因吗?

谢谢!

解决方法

将变量声明为volatile.它应该阻止编译器优化.
volatile int * x = (int *)&x;

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