若有定义: typedef int*T[10]; T a; 则以下选项与上述定义中a的类型完全相同的是( )。

admin2021-04-28  27

问题 若有定义:
typedef int*T[10];
T a;
则以下选项与上述定义中a的类型完全相同的是(    )。

选项 A、int*a[10];
B、int(*a)[10];
C、int a[10];
D、int(*a[10])();

答案A

解析 C语言允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取”别名”。类型定义符typedef即可用来完成此功能,可以完全代替原来的类型说明符。因此,变量a的类型为int*a[10]。typedef int*T[10],由于[]运算符优先级高于*,可以看成typedef int[10]*T,替换T可得int[10]*a=>int*a[10],因此,答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/UCtp777K
0

最新回复(0)