由于指針變量存儲的是其所指向的內存的地址,而指針變量本身也占有一個內存空間,因此可以聲明指向指針的指針,就是指向指針變量的指針變量來存儲指針所使用到的內存地址與存取變量的值,或者可稱為多重指針.下面通過一個小程序來說明他在c++中的用法.
//Goods是一個類,這里省略。。。
Goods ** pii=new Goods*[N];//定義雙重累指針
for(int i=0;i<N;i++)
{
/* pii[i]=new Goods();//給單重類指針分類Goods型內存
pii[i]->num=20;
pii[i]->price=3.4;
strcpy( pii[i]->title,"abc");*/
*(pii+i)= new Goods(); //雙重指針的第i個值就是單指針
(*(pii+i))->num=100;//單指針贏->指向其指向空間內的變量和函數
(*(*(pii+i))).num=100;//單指針取*后得到內容,相當于實例化,額可以用.操作。
}
delete [] pii;
return 0;
}