c++指针参数引用

  

粘个代码占位置,以后有时间把指针函数,函数指针都补上

 # include  & lt; iostream> using  namespace 性传播疾病;void  freePtr1 (int *, p1){,,,/*未释放内存前,,,,p1  Address :, 0012 fddc , p1  value :, 003429 b8,
  ,,,在这里,p1它也是一个变量,既然是一个变量,
  ,,,那么它将会以值的传递,把外部变量p1传到栈内,在栈内产生一个地址:0012 fddc,
  ,,,当然,它的值不会变仍然是指向堆地址:003429 b8 。*/,,,delete  p1;,//系统回收p1值的地址003429 b8处的内存。
  ,,,p1 =,零;//对p1赋以NULL值即:00000000,注意:p1本身的地址并没有变,变的是p1的值只,,,//释放内存后,,,,p1  Address :, 0012 fddc , p1  value :, 00000000,,,,//,出栈后,p1由于是一个临时对象,出栈后它会自动被视为无效。}void  freePtr2 (int *,, p2),,{,,,/*未释放内存前,,,,p2  Address :, 0012 fec8 , p2  value :, 003429 b8,
  ,,,p2是一个指针的引用,即引用指向指针,
  ,,,记住引用的特点:对引用的对象直接操作,所以它的地址和值与栈外的主要()函数中,p2的值是同一个。*/,,,delete  p2,,//对p2所引用的指针进行释放内存,即:系统回收主要()函数中,p2的值,003429 b8 地址处的内存。
  ,,,p2 =,零;//对主要()函数中p2的指针赋以NULL值只,,,//释放内存后,,,,p2  Address :, 0012 fec8 , p2  value :, 00000000,,,,,//由于操作的对象都是主要()函数中的p2,所以它将应用到原变量中。}int 主要(){,,,int  * p1 =, new  int [1];,,,,//释放内存前→,,p1  Address :, 0012 fed4 , p1  value :, 003429 b8 ,,, freePtr1 (p1);,,,,//释放内存后→,,p1  Address :, 0012 fed4 , p1  value :, 003429 b8
  ,,,int  * p2 =, new  int [1];,,,,//释放内存前→,,p2  Address :, 0012 fec8 , p2  value : 003429 b8
  ,,,freePtr2 (p2);//*,的情况只,,,//释放内存后→,,p2  Address :, 0012 fec8 , p2  value :, 00000000} 


c++指针参数引用