ds_array.cpp
来自「内存数据库」· C++ 代码 · 共 67 行
CPP
67 行
#include "ds_head.h"
#include "ds_array.h"
BOOL DSA_CreateArray( DS_ARRAY* me, UINT count, UINT size )
{
if( count <= 0 )
return FALSE;
me->head = malloc( size*count );
if( me->head == NULL )
return FALSE;
me->count = count;
me->size = size;
return TRUE;
}
BOOL DSA_DestroyArray( DS_ARRAY* me )
{
if( me == NULL )
return FALSE;
if( me->head )
{
free( me->head );
me->head = NULL;
}
me->count = 0;
me->size = 0;
return TRUE;
}
void* DSA_GetAt( DS_ARRAY* me, UINT index )
{
if( me->head == NULL )
return NULL;
if( index >= me->count )
return NULL;
return (BYTE*)me->head + me->size*index;
}
BOOL DSA_SetAt( DS_ARRAY* me, UINT index, void* element )
{
void* p;
if( me->head == NULL )
return FALSE;
if( index >= me->count )
return FALSE;
p = (BYTE*)me->head + me->size*index;
memcpy( p, element, me->size );
return TRUE;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?