若一個指針的基類型是另外一種指針,則稱此為多級指針或指針的指針。
多級指針的定義形式為:
類型標識符**變量標識符; 相當于:
(類型標識符*)*變量標識符;
所定義的指針變量指向“類型標識符*”所描述的指針類型的數(shù)據(jù)。
例如:
int *q[5],* p=q;
q是一指針數(shù)組,p是指向數(shù)組q的指針變量,*p為q[O],*(p+1)為q[1],p為指針的指針。
多級指針的實際背景是利用指針來處理指針數(shù)組,此時指針變量指向數(shù)組的元素也是指針。
例將上例中的輸出函數(shù)改用多級指針實現(xiàn)。
void output:(oname,n)/*用多級指針實現(xiàn)的輸出函數(shù)*/
char*oname[];
int n:
{int i:
char**p;
p=oname;
for(i=O;i {printf(”%10s\",*p);
p++;
}
}
多級指針的定義形式為:
類型標識符**變量標識符; 相當于:
(類型標識符*)*變量標識符;
所定義的指針變量指向“類型標識符*”所描述的指針類型的數(shù)據(jù)。
例如:
int *q[5],* p=q;
q是一指針數(shù)組,p是指向數(shù)組q的指針變量,*p為q[O],*(p+1)為q[1],p為指針的指針。
多級指針的實際背景是利用指針來處理指針數(shù)組,此時指針變量指向數(shù)組的元素也是指針。
例將上例中的輸出函數(shù)改用多級指針實現(xiàn)。
void output:(oname,n)/*用多級指針實現(xiàn)的輸出函數(shù)*/
char*oname[];
int n:
{int i:
char**p;
p=oname;
for(i=O;i {printf(”%10s\",*p);
p++;
}
}