typedef int a[10] 与typedef int* a[10];与typedef int (*a)[10] 与 typedef int * (*a)[10]
1 ) #define a int [ 10 ] (全错,直接文本替换)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ;
H) a* b;
2 ) typedef int a[ 10 ] ; ( a为定义一个int 型大小为10 的数组)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ;
H) a* b;
3 ) #define a int * [ 10 ] (全错,直接文本替换)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ;
H) a* b;
4 ) typedef int * a[ 10 ] ; (a的功能:定义一个大小为10 指针数组)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ; 对,定义一个指向二维数组的二级指针b
H) a* b; 对,定义一个指向二维数组的二级指针b
5 ) #define a int * [ 10 ] (全错,直接文本替换)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ;
H) a* b;
6 ) typedef int (* a) [ 10 ] (a的功能:定义一个指向大小为10 的数组的指针)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ;
H) a* b;
7 ) #define * a * int [ 10 ] (全错,直接文本替换)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ;
F) a b;
G) a* b[ 10 ] ;
H) a* b;
8 ) typedef int * ( * a) [ 10 ] (a的功能:定义一个指向大小为10 的指针数组的指针)
A) a[ 10 ] a[ 10 ] ;
B) a[ 10 ] a;
C) int a[ 10 ] ;
D) int a;
E) a b[ 10 ] ; 对,定义一个指向二维指针数组的指针
F) a b;
G) a* b[ 10 ] ;
H) a* b; 定义一个指向(指向大小为10 的指针数组的)指针的指针