先考慮下面這些聲明:
int a = 12;
int *b = &a;
c = &b;
那么c的類型是什么蚪腋?
顯然,它是一個指針。
但它所指向的是什么瞧挤?
變量b是一個“指向整型的指針”,所以任何指向b的類型必須是“指向整型的指針”更通俗的說是指針指針的指針儡湾。
指針變量和其它變量一樣特恬,占據(jù)內(nèi)存中某個特定位置,所以用&操作符取得它的地址是合法的徐钠。
那么指針的指針要怎么聲明癌刽?
int **c;
表達式int **c的類型是int,下圖示例有助于我們弄清這個概念:
int a = 12;
int *b = &a;
int **c = &b;
對int **c的一些分析:
操作符具有從又到左的結(jié)合性,所以這個表達式相當(dāng)于(c)我們必須從里向外逐層求值显拜。c訪問c所指向的位置衡奥,我們知道這是指向變量b,
括號外的*間接訪問操作符訪問這個這個位置所指向的地址,也就是變量a远荠。
END矮固!