046.Pointer Transfer 指针类型的参数传递
2015-07-18 15:00
288 查看
---------------
main.m
---------------
#import
<Foundation/Foundation.h>
@interface
People :
NSObject
@property
int
age;
@property
int
height;
@end
@implementation
People
@end
void
swap(People* Who)
//
目的:把年龄值与身高值互换
{
int tmp = Who.age;
Who.age
= Who.height;
Who.height
= tmp;
NSLog(@"传入swap函数后,年龄是:%d;身高是:%d",
Who.age, Who.height);
}
int
main()
{
People* Jack = [[People
alloc]
init];
Jack.age
=
18;
Jack.height
=
50;
NSLog(@"原本,杰克的年龄是:%d;身高是:%d",
Jack.age, Jack.height);
swap(Jack);
NSLog(@"交换结束后,年龄是:%d;身高是:%d",
Jack.age, Jack.height);
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.People* Jack,这是一个指针类型的变量,我们把这个变量传到swap函数中,
swap函数会找到指针指向的存储空间,进而修改Jack的年龄值与身高值。
2.指针类型的参数传递,不是单纯的值传递。它传入的就是Jack这个对象本身,
而不是Jack的复制品或者变量值。
main.m
---------------
#import
<Foundation/Foundation.h>
@interface
People :
NSObject
@property
int
age;
@property
int
height;
@end
@implementation
People
@end
void
swap(People* Who)
//
目的:把年龄值与身高值互换
{
int tmp = Who.age;
Who.age
= Who.height;
Who.height
= tmp;
NSLog(@"传入swap函数后,年龄是:%d;身高是:%d",
Who.age, Who.height);
}
int
main()
{
People* Jack = [[People
alloc]
init];
Jack.age
=
18;
Jack.height
=
50;
NSLog(@"原本,杰克的年龄是:%d;身高是:%d",
Jack.age, Jack.height);
swap(Jack);
NSLog(@"交换结束后,年龄是:%d;身高是:%d",
Jack.age, Jack.height);
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.People* Jack,这是一个指针类型的变量,我们把这个变量传到swap函数中,
swap函数会找到指针指向的存储空间,进而修改Jack的年龄值与身高值。
2.指针类型的参数传递,不是单纯的值传递。它传入的就是Jack这个对象本身,
而不是Jack的复制品或者变量值。
相关文章推荐
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- HTML5 自定义属性 data-* 和 jQuery.data 详解
- 阅读jquery源码带来的十八大惊喜
- HTML5新增了哪些标签
- HTML5新增了哪些标签
- 深入浅出js事件
- javascript实现页面刷新时自动清空表单并选中的方法
- 安卓客户端与jsp互相用json进行数据的传递与解析
- glib交叉编译
- css3属性(一)
- 关于canvas的lineTo()方法和ClosePath()
- jQuery UI与jQuery easyUI的冲突解决办法
- 关于HTML DOM的一些问题
- 关于html选择文件(input指定类型js判断)
- jQuery对象和DOM对象,注意字体部分
- JS高级程序设计11-DOM扩展
- HTML5使用Canvas完成刮刮乐效果
- hdu, KMP algorithm, linear string search algorithm, a nice reference provided
- jQuery实现在最后一个元素之前插入新元素的方法
- javascript 字符串加减法