C小测验-106 |问题5

对于C中的以下“typedef”,请选择最佳语句

null

typedef int INT , *INTPTR, ONEDARR[10], TWODARR[10][10];


(A) 它将导致编译错误,因为typedef用于在同一语句中定义不兼容类型的多个别名。 (B) “INT x”将定义INT类型的x。语句的剩余部分将被忽略。 (C) “intx”将定义INT类型的x,“INTPTR y”将定义INT*类型的指针y。声明的其余部分将被忽略。 (D) “intx”将定义INT类型的x。“INTPTR y”将定义INT*类型的指针y。ONEDARR是10整数的数组。TWODARR是10乘10整数的2D数组。

(E) “intx”将定义INT类型的x。“INTPTR*y”将定义INT**类型的指针y。“ONEDARR z”将z定义为10整数的数组。“TWODARR t”将t定义为10乘10整数的数组。 答复: (E) 说明: 这里,INT是INT的别名。INTPTR是INT*的别名。这就是为什么INTPTR*是int**的别名。同样,ONEDARR定义的是别名,而不是数组本身。ONEDARR将是int[10]的别名。这就是为什么“ONEDARR z”会定义int[10]的数组z。类似地,TWODARR将是int[10][10]的别名。因此,“TWODARR t”将定义int[10][10]的数组t。我们可以看到,typedef可以用来创建其他类型的别名或同义词。 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享