我正在摆弄指针,例如,代码:
int foo = 25;
int * bar = &foo;
cout << (unsigned long int) bar;
3216952416
当我运行它时输出一些东西。
那么为什么这段代码在我运行的时候会输出这么低的数字,甚至是负数呢?
int total = 0, amount = 0;
for( int i = 0; i < 100000; i++ )
{
int foo = 25;
int * bar = &foo;
total += (unsigned long int) bar;
amount++;
}
cout << "Average pointer position of foo: " << total / amount << endl;
这可能是一件简单的事情......