Exemplo n.º 1
0
void    DtInpArray( void ) {
//====================

// Data initialize an array.

    sym_id      fd;
    sym_id      sym;

    sym = GetPtr();
    fd = GetPtr();
    if( fd == NULL ) {
        InitVar = sym;
        DtOffset = 0;
        InitArr( sym->u.ns.si.va.u.dim_ext, sym->u.ns.u1.s.typ, _SymSize( sym ) );
    } else { // array field within structure
        InitArr( fd->u.fd.dim_ext, fd->u.fd.typ, fd->u.fd.xt.size );
    }
}
Exemplo n.º 2
0
/*************************************************
	Function: 		main
	Description: 	主函数
	Calls: 			scanf	printf
	Called By:		编译器
	Input: 			无
	Output: 		无
	Return: 		0
*************************************************/
int main(void)
{
	int len;
	int res;
	int pos = 0;
	int val = 1030;
	struArray StruArray;
	printf("input the array length\n");
	scanf("%d", &len);
	InitArr(&StruArray, len);
	
	//下列为测试程序
	AppendArr(&StruArray, 512);
	ShowArr(&StruArray);
	AppendArr(&StruArray, 999);
	ShowArr(&StruArray);
	AppendArr(&StruArray, 1111);
	ShowArr(&StruArray);
	AppendArr(&StruArray, val);
	ShowArr(&StruArray);
	AppendArr(&StruArray, 666);
	ShowArr(&StruArray);
	InsertArr(&StruArray, 10, 40);
	ShowArr(&StruArray);
	DeleteArr(&StruArray, 9);
	ShowArr(&StruArray);
	if (FindVal(&StruArray, val, &pos))
	{
		printf("%d:%d\n", val, pos);
	}
	if (Get(&StruArray, 8, &res))
	{
		printf("res:%d\n", res);
	}
	SortArr(&StruArray);
	ShowArr(&StruArray);
	if (FindVal(&StruArray, val, &pos))
	{
		printf("%d:%d\n", val, pos);
	}
	InverseArr(&StruArray);
	ShowArr(&StruArray);
	if (FindVal(&StruArray, val, &pos))
	{
		printf("%d:%d\n", val, pos);
	}
	DeleteAll(&StruArray);
	return 0;
}
Exemplo n.º 3
0
static  void    StructInitItem( sym_id fd ) {
//===========================================

// Initialize a structure field.

    DtItemSize = fd->u.fd.xt.size;
    if( fd->u.fd.dim_ext == NULL ) {
        AsnVal( ParmType( fd->u.fd.typ, DtItemSize ) );
    } else {
        if( fd->u.fd.typ == FT_STRUCTURE ) {
            InitStructArr( fd, fd->u.fd.dim_ext );
        } else {
            InitArr( fd->u.fd.dim_ext, fd->u.fd.typ, DtItemSize );
        }
    }
}