OC语言day02-04练习2

pragma mark 练习2

pragma mark 概念

pragma mark 代码

#import <Foundation/Foundation.h>
#pragma mark 类

#pragma mark main函数

@interface Person : NSObject
{
    @public
    int age;
    double height;
}
- (void)print;
@end

// int newAge = 10 , double newHeight = 1.5f
void test1(int newAge, double newHeight);
void test2(Person *newP);
void test3(Person *newP);
void test4(Person *newP);

int main(int argc, const char * argv[])
{
    
    Person *p = [Person new];
    p-> age = 10;
    p-> height = 1.5f;
    
    test1(p->age, p->height);
    [p print];  // 10.1.5
    
    
    test2(p);   // 指针 地址
    [p print];  // 20 1.7
    
    test3(p);   // 指针 地址
    [p print];
    
    test4(p);   // 指针 地址
    [p print];

    
    return 0;
}

@implementation Person

-(void)print
{
    NSLog(@"年龄=%d,身高=%f",age,height);
}
@end

void test1(int newAge, double newHeight)
{
    newAge = 24;
    newHeight = 1.72;
}
// person *newP = p;
void test2(Person *newP)
{
    newP->age = 20;
    newP->height = 1.70;
}
void test3(Person *newP)
{
    Person *p2 = [Person new];
    p2->age = 40;
    p2->height = 1.8;
    newP = p2;  // 把 p2的地址 赋值给 newP 只是地址改变 相当于改变了指向
    newP->age = 22;
}
void test4(Person *newP)
{
    Person *p2 = newP;
    p2->age = 50;
    p2->height = 1.8;
    newP->age = 60;

}


//@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容