美文网首页
指针的使用

指针的使用

作者: 爱生活_更爱挺自己 | 来源:发表于2020-07-02 22:07 被阅读0次

指针的使用

指针应用场景一

  • 交换两个变量的值
void swap(int *pa,int *pb)
{
    int t = *pa;
    *pa = *pb;
    *pb = t;
}
#include<stdio.h>

int main(void)
{
    int a = 5;
    int b = 6;
    swap(&a,&b);
    printf("a=%d,b=%d\n", a,b);
    return 0;
}

void swap(int *pa, int *pb)
{
    int t = *pa;
    *pa = *pb;
    *pb = t;
}
a=6,b=5

应用场景二

  • 函数返回多个值,某些值只能通过指针返回
    • 传入的参数实际上是需要保存待会的结果的变量
#include<stdio.h>

void minmax(int a[], int len, int *max, int *min);

int mian(void)
{
    int a[] = {1,2,3,4,5,6,7,8,9,12,13,14,16,17,21,23,55,};
    int min,max;
    minmax(a, sizeof(a)/sizeof(a[0]), &min, &max);
    return 0;
}

void minmax(int a[], int len, int *min, *max)
{
    int i;
    *min = *max=a[0];
    for(i=1;i<len;i++){
        if( a[i] < *min){
            *min = a[i];
        }
        if( a[i] > *max){
            *max = a[i];
        }
    }
}
min=1,max=55

指针应用场景二b

  • 函数返回运算的状态,结果通过指针返回

  • 常用的套路是让函数返回特殊的不属于有效范围内的值来表示出错

  • -1或0(在文件操作会看到大量的例子)

  • 但是当任何数值都是有效的可能结果时,就是分开返回了

#include<stdio.h>

/**
    @return 如果除法成功,返回1;否则返回0
*/
int divide(int a, int b, int *result);

int main(void)
{
    int a=5;
    int b=2;
    int c;
    if( divide(a,b,&c)){
        printf("%d/%d=%d", a, b, c);
    }
    return 0;
}

int divide(iint a, int b, int *result)
{
    int ret = 1;
    if ( b== 0) ret = 0;
    else{
        *result = a/b;
    }
    return 0;
}

指针最常见的错误

  • 定义了指针变量,还没有指向任何变量,就开始使用指针

相关文章

  • C语言指针使用的3个小例子

    指针使用实例1 指针使用实例2 指针使用实例3

  • 二级指针应用

    使用指向指针的指针

  • 指针

    指针只能存储地址值,通过指针可以对指针指向的内存进行空间进行存取操作。 指针使用注意点: 指针在数组中的使用 指针...

  • 面经——指针和引用的区别

    为什么使用指针 每一个编程语言都使用指针C++将指针暴露给程序员,而Java和c#将指针隐藏起来。 使用指针的优点...

  • 指针的使用

    指针的使用 指针应用场景一 交换两个变量的值 应用场景二 函数返回多个值,某些值只能通过指针返回传入的参数实际上是...

  • 指针的使用

    指针是一种数据类型,能直接在函数里面修改函数外面的变量的值,现在知道的作用大概就这些,以后想起来了再往上加。 pa...

  • 实例解析go语言method指针receiver的用处,及非指针

    method指针receiver的用处 go语言中method使用指针作为receiver接受体的用处与使用费指针...

  • Objective-C基础学习之typedef和Block

    1.函数指针回顾 函数指针使用 函数指针别名 2.block和typedef block使用 block别名

  • typedef和Block

    1.函数指针回顾 函数指针使用 函数指针别名 2.block和typedef block使用 block别名

  • 指针 数组 互相转换

    数组转指针 指针使用数组中的值

网友评论

      本文标题:指针的使用

      本文链接:https://www.haomeiwen.com/subject/qhmdqktx.html