070.Pointer Sort 使用指针排序变量
2015-10-26 16:00
344 查看
--------------- main.m ---------------
#import <Foundation/Foundation.h>
void swap(int*
p1 , int* p2)
{
int tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
void exchange(int*
p1 , int* p2 , int*
p3)
{
if(*p1 > *p2) swap(p1 , p2);
if(*p1 > *p3) swap(p1 , p3);
if(*p2 > *p3) swap(p2 , p3);
}
int main()
{
int a = 25;
int b = 4;
int c = 19;
exchange(&a , &b , &c);
NSLog(@"a:%d,
b:%d, c:%d",
a , b , c);
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.如果函数的形参是普通类型的变量,那么函数中对变量所做的任何修改都不会影响变量本身。
2.如果想在函数中对变量本身的值进行修改,我们就得将该变量的指针(即地址)传入函数。
3.将数组作为参数传入函数时,函数对数组元素所做的修改也会影响数组本身,因为数组的本质就是指针。
#import <Foundation/Foundation.h>
void swap(int*
p1 , int* p2)
{
int tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
void exchange(int*
p1 , int* p2 , int*
p3)
{
if(*p1 > *p2) swap(p1 , p2);
if(*p1 > *p3) swap(p1 , p3);
if(*p2 > *p3) swap(p2 , p3);
}
int main()
{
int a = 25;
int b = 4;
int c = 19;
exchange(&a , &b , &c);
NSLog(@"a:%d,
b:%d, c:%d",
a , b , c);
}
一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。
二、本节代码涉及到的知识点:
1.如果函数的形参是普通类型的变量,那么函数中对变量所做的任何修改都不会影响变量本身。
2.如果想在函数中对变量本身的值进行修改,我们就得将该变量的指针(即地址)传入函数。
3.将数组作为参数传入函数时,函数对数组元素所做的修改也会影响数组本身,因为数组的本质就是指针。
相关文章推荐
- linux网卡故障:弹出界面eth0: 错误:没有找到合适的设备:没有找到可用于链接System eth0 的
- 手工kill掉当前用户的所有进程
- Python和Java的整除运算符"/"
- hibernate-mapping set 简单的配置问题
- Topcoder好题推荐 ( 持续更新中 )
- reids客户端 redis-cli用法
- SVD在推荐系统中的应用详解以及算法推导
- angular中通过事件获取ng-repeat中每个子项的属性
- 微软算法100题28 整数的二进制表示中1 的个数
- 学习中
- 071.Pointer Array 指向数组的指针
- 树形无限极分类下拉框选项
- 深入详解Struts2——struts.xml配置之Result配置详解
- 设计模式-模板方法
- SpringMVC(2)入门程序
- 读《C专家编程》笔记-第三章 分析C语言的声明
- Java file 操作
- android 混淆外部lib的方法
- 在linux虚拟机上安装jdk
- MyEclipse的Console输出中文时出现乱码