指针的在函数中的两个基本用法:
用法一:
-  
当函数需返回多个值时,某些值则需要通过指针返回
 -  
传入的参数实际上是需要保存带回的结果的变量
 
例如:找一列数中的最大和最小值并输出
#include <stdio.h>
void minmax(int a[],int len,int *min,int *max);
int main(void)
{
    int a[]={1,2,3,4,5,6,7,8,9,12,13,17,21,23,55};
    int min,max;
    minmax(a,sizeof(a)/sizeof(a[0]),&min,&max);
    printf("max=%d,min=%d",max,min);
    return 0;
}
void minmax(int a[],int len,int *min,int *max)
{
    int i;
    *min=*max=a[0];
    for(i=0;i<len;i++)
    {
        if(a[i]<*min)
            *min=a[i];
        if(a[i]>*max)
            *max=a[i];
    }
} 
用法二:
-  
函数返回运算的状态,结果通过指针返回
 -  
常用的套路是让函数返回特殊的不属于有效范围内的值来表示出错
 
例如:做两个整数的除法,若除法成功则函数返回1并输出,否则返回0
#include <stdio.h>
int divide(int a,int b,int *result);
int main()
{
    int a=5,b=2;
    int c;
    if(divide(a,b,&c))
        printf("%d/%d=%d",a,b,c);
    return 0;
}
int divide(int a,int b,int *result)
{
    int ret =1;
    if(b==0)
        ret=0;
    else
        *result=a/b;
    return ret;
}









