第2个回答 2016-03-20
typedef char T[10] 即声明一个数据类型T,它代表含有十个char类型元素的数组,即T=char [10]。然后声明T *a,根据上文T=char [10],可以解析为(char [10]) *a。即首先a是一个含有十个元素的数组,其次数组中的每个元素都是一个char*型的指针。也即a是一个指针数组。而运算符的优先级是[]大于*,因此即使去掉括号,char *a[10]仍然被解析为a先与[10]结合,代表a是一个十元素数组。因此答案选择D。B中由于有一个括号,a先和*结合,代表a是一个指针,它指向一个含有十个元素的数组,因而a是一个数组指针,这是错误的。本回答被提问者和网友采纳