2015-06-19 48 views
0

char *(*a)[20];這樣的指針聲明是什麼意思?與char **a[20];有何區別?指針聲明

這兩個聲明是否等價?如果不是,有什麼區別?

+0

上面的指針和char ** a [20]之間的區別是什麼?我知道這一個,因爲這是可以理解的:) – zh7i

+0

樣本的用法:'char * b [20]; a =&b;' –

回答

9

這是指針數組的指針。

char a[20];是一個字符數組。

char* a[20];是一個指針數組,以字符

char (*a)[20];是一個指向字符

char* (*a)[20];的陣列是一個指向指針數組爲字符。請注意0​​是指向字符指針的數組。括號的優先級高於星號,所以你需要用圓括號來聲明一個指向數組的指針。