void f( int * p) { cout << p << endl; // 输出局部指针变量p的值 (1)疑问一 cout <<& p << endl; // 输出p在堆栈上的地址 (2)疑问二 cout <<* p << endl; * p = 100 ; cout <<* p << endl; p = NULL; } void main() { int iCount = 0 ; f( & iCount); cout << iCount << endl; } (1)疑问一 输出0x0012ff7c (2)疑问二 输出0x0012ff2c cout < <p < <endl; //输出局部指针变量p的值 (1)疑问一 cout < <&p < <endl; //输出p在堆栈上的地址 (2)疑问二 为什么上面写个p就能输出地址,而下面&p才能输出地址? 以上是别人发贴的问题 我的理解: 函数调用传值 分 传值 (变量的拷贝) 和 传址(传递变量的真实地址、在主函数中分配的真实地址) 接着题深入讲解一下: |