Ñ§Ï°Íø¿¼ÊÔѧϰ×ÊÁÏ

Gzu521.com

Êý¾Ý½á¹¹½Ì³ÌµÚ¶þÊ®¶þ¿ÎʵÑéÎåÊý×éʵÑé(1)

È«¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔ   µã»÷£º´Î   ·¢²¼Ê±¼ä£º2006-10-31   ¡¾×ÖÌ壺´ó ÖРС¡¿   À´Ô´£ºGzu521.com
¹ó ÖÝ Ñ§ ϰ Íø

½ÌѧĿµÄ£º ÕÆÎÕ¶þάÊý×éµÄʵÏÖ·½·¨

½ÌÑ§ÖØµã£º ¶þάÊý×éµÄ´æ´¢±íʾ,¶þάÊý×éµÄ»ù±¾²Ù×÷ Z:Fuk7`(Bz4t 4,=W| [ ±¾ ×Ê ÁÏ À´ Ô´ ÓÚ ¹ó ÖÝ Ñ§ ϰ Íø ITÈÏ֤ȫ¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔ http://Www.gzU521.com ] Z:Fuk7`(Bz4t 4,=W|

½ÌѧÄѵ㣺 ¶þάÊý×éµÄ»ù±¾²Ù×÷

ÊÚ¿ÎÄÚÈÝ£º

Êý×éµÄ˳Ðò´æ´¢±íʾºÍʵÏÖ:

#include<stdarg.h>

#define max_array_dim 8

typedef struct {

elemtype *base;

int dim;

int *bounds;

int *constants;

}array;

status initarray(array &a,int dim,...);

status destroyarray(array &a);

status value(array a,elemtype &e,...);

status assign(array &a,elemtype e,...);

»ù±¾²Ù×÷µÄËã·¨ÃèÊö:

status initarray(array &a,int dim,...){

if(dim<1||dim>max_array_dim) return error;

a.dim=dim;)e$f$GxR%KrK =C€R[ ´ËÎÄתÌùÓÚÎÒµÄÑ§Ï°ÍøITÈÏ֤ȫ¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔ http://www.Gzu521.com])e$f$GxR%KrK =C€R

a.bounds=(int *)malloc(dim *sizeof(int));

if(!a.bounds) exit(overflow);

elemtotal=1;

va_start(ap,dim);

for(i=1;i<dim;++i){

a.bounds[i]=va_arg(ap,int);

if(a.bounds[i]<0) return underflow;

elemtotal*=a.bounds[i];

}

va_end(ap);

a.base=(elemtype *)malloc(elemtotal*sizeof(elemtype));

if(!a.base) exit(overflow);

a.constants=(int *)malloc(dim*sizeof(int));

if(!a.constants) exit(overflow);

a.constants[dim-1]=1;

for(i=dim-2;i>=0;--i)

a.constants[i]=a.bounds[i+1]*a.constants[i+1];

return ok;

}

status destoyarray(array &a){

if(!a.base) return error;

free(a.base); a.base=null;

if !(a.bounds) return error;

ÏÂÒ»Ò³
±¾ÎĹ²2Ò³: µÚ [1] [2] Ò³

ÔðÈα༭£ºgzu521

ITÈÏÖ¤·ÖÀà
¼ÆËã»úÈí¼þˮƽ¿¼ÊÔ
È«¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔ
˼¿ÆÈÏÖ¤
΢ÈíÈÏÖ¤
ORACLE/CIWÈÏÖ¤
LinuxÈÏÖ¤
JAVAÈÏÖ¤
ÆäËüÈÏÖ¤
·ÖÀàÍÆ¼öÐÅÏ¢
¸ü¶à...
´óÀà×îÐÂÎÄÕÂ
¸ü¶à...