2015-06-19 147 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​​是指向字符指针的数组。括号的优先级高于星号,所以你需要用圆括号来声明一个指向数组的指针。