四、指向指針數(shù)組的指針
指針的指針另一用法舊處理指針數(shù)組。有些程序員喜歡用指針數(shù)組來代替多維數(shù)組,一個(gè)常見的用法就是處理字符串。
char *Names[]=
{
Bill,
Sam,
Jim,
Paul,
Charles,
0
};
main()
{
char **nm=Names;
while(*nm!=0) printf(%s\n,*nm++);
}
先用字符型指針數(shù)組Names的地址來初始化指針nm。每次printf()的調(diào)用都首先傳遞指針nm指向的字符型指針,然后對nm進(jìn)行自增運(yùn)算使其指向數(shù)組的下一個(gè)元素(還是指針)。注意完成上述認(rèn)為的語法為*nm++,它首先取得指針指向的內(nèi)容,然后使指針自增。
注意數(shù)組中的最后一個(gè)元素被初始化為0,while循環(huán)以次來判斷是否到了數(shù)組末尾。具有零值的指針常常被用做循環(huán)數(shù)組的終止符。程序員稱零值指針為空指針(NULL)。采用空指針作為終止符,在樹種增刪元素時(shí),就不必改動(dòng)遍歷數(shù)組的代碼,因?yàn)榇藭r(shí)數(shù)組仍然以空指針作為結(jié)束。
相關(guān)推薦:
計(jì)算機(jī)等級考試二級C語言教程匯總
計(jì)算機(jī)等級考試二級C語言常見知識(shí)點(diǎn)總結(jié)
計(jì)算機(jī)等考二級C50套上機(jī)程序填空題匯總
計(jì)算機(jī)等級考試二級C語言三套全真預(yù)測試題