黑马程序员技术交流社区

标题: 类的属性赋值疑问 [打印本页]

作者: HML    时间: 2014-7-28 11:12
标题: 类的属性赋值疑问
  1. #import <Foundation/Foundation.h>

  2. @interface Person : NSObject
  3. {
  4.     @public
  5.     int age;
  6.     double weight;
  7. }
  8. -(void)walk

  9. @end

  10. @implementation Person

  11. -(viod)walk
  12. {
  13.     NSLog(@"%d岁,体重%f的人走了一段路",age ,weight);
  14. }
  15. @end

  16. int main()
  17. {
  18.     Person *p = [Person new];
  19.     p->age = 22
  20.     p->weight = 55.5
  21.    
  22.     Person *p2 = p;
  23.     p2->age = 33;
  24.    
  25.     [p walk];
  26.    
  27.     return 0;
  28. }
复制代码
上述代码中p和p2都是指针
为什么Person *p2 = p;的书写方式不是Person **p2 = p;  难道不是指向指针的指针吗?求解!!!

作者: Jr_711    时间: 2014-7-28 13:49
应该不是指向指针的指针吧

他是把p存的地址直接赋给了p2

也就是p和p2是一样的,都直接指向Person

而不是p2指向p,再由p指向Person
作者: HML    时间: 2014-8-5 00:45
Jr_711 发表于 2014-7-28 13:49
应该不是指向指针的指针吧

他是把p存的地址直接赋给了p2

哦,知道了。赋值的对象没加 “&”。懂了
作者: 零下_1°    时间: 2014-8-5 09:44
指向指针的指针要给的时被指的地址,所以不行额。Person *p2 = p;只是把p2这个指针指向了p这个指针指向的对象哦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2