打印一个变量地址,输出是空的,为什么?
int main(){ char num=0; char *n=# cout<<n<<endl; //结果是空的 char sizePut[9]; cout<<&sizePut<<endl;}#include <iostream>using namespace std;int main(void){ char num = 0; char* n = # cout << (void*)n << endl; char sizePut[9]; cout << &sizePut << endl;}
[解决办法]
这样是看不到指针地址的,C++不同于C,不能用这种方法观察到地址,要用点技巧:
int main(){ union { int n; void* p; } v; char num=0; char *n=# v.p = n; cout<< v.n<<endl; //结果是空的 //-这样就不会空了 char sizePut[9]; cout<<&sizePut<<endl; return 0;}
[解决办法]
printf("%p"