指针有什么用?

场景A

通过函数交换两个变量的值

eg. 交换变量a,b的值

int swap(int *a, int *b){
    int temp = 0;
    temp = *a;
    *a = *b;
    *b = temp;
}

场景B

返回结果有多个,或return返回状态,指针返回结果

int divide(int a,int b,float *res){
    int ret = 1;
    if(b != 0){
        *res = (float)a/b;
    }else{
        ret = 0;
    }
    return ret;
}

指针最常见的错误

定义了指针变量,但是没有指向任何变量,就开始使用。

int main(){
    int *p;
    *p = 12;
    printf("%d",*p);
    return 0;
}
最后修改:2023 年 04 月 28 日
如果觉得我的文章对你有用,请随意赞赏