橙鼠 2022-03-25 14:26 采纳率: 40%
浏览 14
已结题

*T?求解,难道不是C吗

4.若有定义
typedef int *T;
T a[20];
则以下与上述定义中a类型完全相同的是( )
A) int a[20];
B) int (*a)[20];
C) int *a[20];
D) int **a[20];

img


我选的是C,但是这练习册答案说是B,我不太懂,(求解,感谢

  • 写回答

1条回答 默认 最新

  • bostonAlen 2022-03-25 15:29
    关注

    答案是不是错了,typedef就是直接替换啊。c是对的啊

    
    1、int a[20]
    定义a是一个数组,数组中每一个元素都是int类型。
    
    2、int (*a)[]
    定义a是一种指针。
    a指向一种整数数组。
    对比1的写法,2使用了括号把'*'和a括起来(*a),因为操作符[]的优先级大于*的优先级。
    
    所以:(*a)是一个数组,数组的每一个元素都是一个整数,而a是指向这个数组的指针。
    
    3、int *a[]
    定义a是一个数组。
    每一个数组的元素是一个指针,指向一个整数。
    结合属性是:
    int *a[] => (int *) a[]
    所以:a是一个数组,数组的每一个元素的类型是(int *)。
    
    4、int **a[]3一样,定义a是一个数组,数组中每一个元素都是int**类型。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 创建了问题 3月25日

悬赏问题

  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?