形参改变影响实参主要应用在以下两个方面:
1.用于外部函数要交换主函数中的两个值,可以用指针来实现,但通过指针来实现主函数中两个数的交换必须要知道,哪些类型属于值传递,哪些类型属于地址传递,对于值传递的那些类型(例如:×××、字符型)才有必要用指针来实现,因为数组,字符串属于地址传递类型,所以没必要在外部函数通过用指针来实现主函数中的两个数的交换。举例:
2.在开辟空间的时候使用二级指针来实现主函数中指针内存的开辟,不然如果不用二级指针的话就必须在外部开辟空间的函数有一个返回值类型,然后赋值给主函数中的指针,如果不通过这两种方法实现的话就可能引发内存问题,举例:
方法 一、通过在外部开辟空间的函数里有返回指针类型,然后赋值给主函数中的指针的方法,来实现主函数中指针空间的开辟
方法二、通过二级指针来实现对主函数中指针的赋值,所谓二级指针就是指向指针的地址
//
// main.c
// 2013-5-11作业5
//
// Created by 丁小未 on 13-7-11.
// Copyright (c) 2013年 dingxiaowei. All rights reserved.
//
#include <stdio.h>
#define max(a,b) (a>b?:a,b)
//#define Max(a,b) a>b
int maxValue(int a,int b)
{
//方法一:
// if (Max((a), (b))) { //注意:非常有必要对a,b加上括号,正对那种Max(a*c,b) 这里有符号的优先级问题,如果比>要低,那么就会有问题
// return a;
// }
// else
// return b;
//方法二:
return max((a),( b));
}
int main(int argc, const char * argv[])
{
int maxNum=maxValue(10, 11);
printf("%d",maxNum);
return 0;
}