經典C++數組指針學習題

#include<iostram>
using namespace std;
void fun(int *& a, int &m) 
{  
		 a=new int[m];      //A
	       int * p=a;
	       for(int i=0;i<m;i++)
		       *p++=i*i+1;
       }
int main() 
	    {   int  *b,n=5;
	      fun(b,n);
	       for(int i=0;i<n;i++)
		       cout<<b[i]<<' ';
	       cout<<endl;
 	       delete[]b;             //B
}
運行結果是:
1  2  5  10  17

分析:指針變量在函數main中沒有取得地址,所以在A行中,對被調用函數fun給對應的形參指針變量申請地址,即指針變量b和形參指針變量p指向同一組地址。B行對申請地址釋放。


仔細研究吧,超經典!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章