关于函数的一些基础知识

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;

}


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

推荐阅读更多精彩内容