关于函数的一些基础知识
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;
}