第1个回答 2012-02-22
int *a[3]叫指针数组,int *(a)[3]叫指向数组的指针,名字都不一样,用法也不一样。
int *a[3]一般用来存放一系列的字符串。
如 int *a[3]={"hunan","guandong“,"beijing"};
int *(a)[3]则基本等同于int a[][3],用于在函数中做形式参数,接受传来的数据。如
调用fan(a[4][3]);
函数int fan(int *(a)[3]){
函数中的代码
}
第2个回答 2012-02-22
int *a[3];
//因为:数组名等效于指针,
//因此:int *(* (a+3)) 该类型为指针,即:该数组的元素为指针变量
int *(a)[3];
//因为:数组名等效于指针,[]比()、*操作符都要高级。
//因此:int * ( *(a+3 ) == int **(a+3) 该类型也为指针,即:该数组的元素为指针变量
第3个回答 2012-02-22
因为 [ ]的优先级 会比 *号高;所以 int *a[3]; a先与[3]结合 代表一个数组;其次再与int * 结合;
其他的同wxhysoft