关于函数的一些基础知识

2019-03-07  本文已影响0人  AmberAlbee

main.m

#import <Foundation/Foundation.h>

#import "Car.h"

void test(int w,int s) //创建一个test函数方法

{

w = 3; //传递的是值,不是地址。(不对)

s = 80; //传递的是值,不是地址。(不对)

}

void test1(Car *newC) //创建一个test1函数方法,并将c的形参值赋值给newC

{

newC->wheels = 3;

}

void test2(Car *newC)

{

Car *c2=[Car new];

c2->wheels = 4;

c2->speed = 90;

newC =c2; //原本newC指针指向c,现在newC指针指向c2

newC ->wheels = 6;

}

int main(int argc, const char * argv[])

{

Car *c = [Car new]; //创建Car new对象

c->wheels = 2; //成员变量赋值,只是传递值,并没有传递地址给形参

c->speed = 70; //成员变量赋值,只是传递值,并没有传递地址给形参

test(c->speed,c->wheels); //调用test方法,并赋值给形参w和s test(70,2),把c里面的值给了newC,newC与C指向同一个对象

test1(c); //调用test1方法,并将c的值赋给newC,newC指向了c2对象

test2(c);

[c run]; //运行run方法,调用c

return 0;

}


上一篇下一篇

猜你喜欢

热点阅读