美文网首页
指针数组使用的一些坑

指针数组使用的一些坑

作者: 持戒行善 | 来源:发表于2018-12-26 21:15 被阅读0次

指针函数的返回值应该使用指针变量来接受,而不是指针常量

#include<stdio.h>
int *FindMaxMin(int a[],int n){
    int b[2];
    int max=a[0],min=a[0];
    int i;
    for(i=1;i<n;i++){
        if(a[i] > a[0]){
            max=a[i];
        }
        if(a[i]< a[0]){
            min=a[i];
        }
    }
    b[0]=min;
    b[1]=max;
    return b;
}
void main(){

    int a[]={1,2,3,4,5,6,7,8};
    int b[2];
    b=FindMaxMin(a,8);
    printf("最小值%d,最大值%d\n",b[0],b[1] );

}

数组名是指针常量而不是指针变量,因此不能接受指针函数的返回值

正确的形式应该是这样的:

int *FindMaxMin(int a[],int n){
    int b[2];
    int max=a[0],min=a[0];
    int i;
    for(i=1;i<n;i++){
        if(a[i] > a[0]){
            max=a[i];
        }
        if(a[i]< a[0]){
            min=a[i];
        }
    }
    b[0]=min;
    b[1]=max;
    return &b[0];
}
void main(){

    int a[]={1,2,3,4,5,6,7,8};
    int *b;
    b=FindMaxMin(a,8);
    printf("最小值%d,最大值%d\n",b[0],b[1] );
   
}

只需要复制给一个变量就行,剩下的事情指针变量会自动找到的,不需要担心

相关文章

  • 指针数组使用的一些坑

    指针函数的返回值应该使用指针变量来接受,而不是指针常量 数组名是指针常量而不是指针变量,因此不能接受指针函数的返回...

  • 指针 数组 互相转换

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

  • 数组和指针

    数组初始化 函数,数组,指针 使用指针形参 指针操作 通过指针改变数组内容

  • 指针与数组

    指针与数组 指针数组,数组指针,指针法访问数组,分不清如何使用,下面将帮你疏通思路,更好理解他们的关系。 数组名的...

  • 二级指针

    二级指针做函数输出特性 指针数组的使用 一维数组

  • C语言 - 中

    总目录 前言 本文介绍C语言的指针:一、指针介绍二、指针使用三、数组指针和指针数组 函数指针和指针函数 环境 1...

  • 2017年10月18日学习总结

    今天学习了指针数组,对于一个二维数组就可以看成一个指针数组,使用指针数组是要考虑地址,考虑指针所指向的类型,当指针...

  • 数组与指针

    数组声明:int arr[] = {1, 2, 3, 4, 5}; 指向数组的指针 指针可以指向数组,而且可以使用...

  • C-数组篇(一维数组-上)

    数组,相信大家都使用过。本文将由浅入深的讨论数组,探索一些更高级的数组话题,如多维数组、数组与指针及数组的初始化等...

  • 混淆知识点

    1、指针数组&数组指针、常量指针&指针常量、函数指针&指针函数 数组指针&指针数组 数组指针的定义 int (*p...

网友评论

      本文标题:指针数组使用的一些坑

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