———————————array.h———————————

#ifndef ARRAY_H

#define ARRAY_H

#ifndef ERR

#define ERR -1

#define OK 1

#endif

#ifndef MIN

#define MIN 0

#define MAX 100

#endif

typedef int status;

typedef int elemtype;

typedef struct {

      elemtype *iva;

      int    size;

} array;

status array_init( array *, int );

status w_array( array* );

status print( array* );

elemtype find( array*,int );

#endif

 

__________________array.c___________________________

#include <stdio.h>

#include <malloc.h>

#include "array.h"

status array_init( array *pev, int sz = MAX )

{

     pev->iva =

        ( elemtype* ) malloc ( sz * sizeof ( elemtype ) );

     if( !pev->iva )

       return ERR;

     pev->size = sz;

     return OK;

}

status w_array( array *op )

{

    int ix;

    if( !op )

       return ERR;

    printf( "请输入%d个数:",op->size );

    for( ix = 0; ix < op->size; ++ix )

       scanf( "%d", &op->iva[ ix ] );

    return OK;

}

 

status print( array *op )

{

    int ix;

    if( !op )

       return ERR;

    printf( "正在输出%d个数:",op->size );

    for( ix = 0; ix < op->size; ++ix )

       printf( "%d ", op->iva[ ix ] );

    printf( "/n" );

    return OK;

}

 

elemtype find( array *op,int xi )

{

    if( !op )

       return ERR;

    return op->iva[ xi ];

}