对的,但两个指针同时指向一个貌似只需要释放一次。
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"string.h"
#define N 20000
//#define NULL 0
int *p1,*p2;
int i;
int num[10];
void gen_rand (int band)
                            //产生随机数,存储在分配的空间中
{
    
    for(i=0;i<N;i++)
    {
        *p1 = rand() % band;
        printf("%d
  ", *p1);
        p1++;
    }
}
void display()
                               // 显示输出统计函数
{
    for(i=0;i<10;i++)
    {
        printf("The number of %d is:
  ",i);
        printf("%d\n",num[i]);
    }
}
void stat(int *p)
                         //统计随机数中每个数出现的次数
{
        p=p2;
        for(i=0;i<N;i++)
        {
            switch (*p)
                {
                    case 0: num[0]++;
                                break;
                    case 1: num[1]++;
                                break;
                    case 2: num[2]++;
                                break;
                    case 3: num[3]++;
                                break;
                    case 4: num[4]++;
                                break;
                    case 5: num[5]++;
                                break;
                    case 6: num[6]++;
                                break;
                    case 7: num[7]++;
                                break;
                    case 8: num[8]++;
                                break;
                    case 9: num[9]++;
                                break;
                    default :break;
                }
            p++;
        }
}
void main()
{
    p1=(int *)malloc(N * sizeof(int));
                //分配空间
    if(p1==NULL)
    {
        printf("Malloc memoryspace failed.");
        exit(1);
    }
    printf("\n%x(HEX)",p1);
    p2=p1;
    printf("\n%x(HEX)",p2);
    memset(p1,0,N * sizeof(int));
                    //初始化内存
    gen_rand(10);
    stat(p1);
    display();
    printf("\n%x(HEX)",p1);
    for(i=0;i<N;i++)
    {
        p1--;
    }
    printf("\n%x(HEX)",p1);
    printf("\n%x(HEX)",p2);
    free(p1);
    free(p2);
    p1=NULL;
    p2=NULL;
    getch();
}