,.?!!?., 2018-02-01 12:47 采纳率: 0%
浏览 1093
已采纳

C语言指针 问题 请大神们 解答

这个问题在http://ask.csdn.net/questions/679023?page=2 在这个链接问过一次 回答人不少 不知道为什么没有 一个人 解释出原因 我想问问https://www.jianshu.com/p/6ad68f2bac5e链接里的代码为什么用Student s1 =* (Student *)a; 而不是 Student s1 = (Student)a; 第二个我运行是错的

  • 写回答

7条回答 默认 最新

  • 有点贪玩 2018-02-01 13:02
    关注

    Student a[] 这是a的定义,a本身的含义就是一个指针,类型为student*,指向数组的首地址。
    第一种Student s1 =* (Student )a中 a本身就是student所以 (Student )a相当于没作用,前面还有一个就把 a解引用,就是一个Student对象了
    第二种Student s1 = (Student)a 把一个指针强转成Student对象,这应该是有问题的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?