69,335
社区成员
发帖
与我相关
我的任务
分享
struct ACL_ARRAY{
int capacity; /**< items 数组空间大小 */
int count; /**< items 中含有元素的个数 */
void **items; /**< 动态数组 */
};
void acl_array_clean(ACL_ARRAY*a,void(*f)(void *))
{
int i;
if(a==NULL)
return;
for(i=0;i<a->count;i++)
{
if(a->items[i]!=NULL)
{
free(a->items[i]);
a->items[i]=NULL;
}
}
a->count=0;
}
int acl_array_delete_idx(ACL_ARRAY*a,int position,void(*f)(void*))
{
int i;
if(a==NULL||f==NULL||position<0||position>=a->count)
return (-1);
if(f!=NULL&&(a->items[position])!=NULL)
{
f(a->items[position]);
a->items[position]=NULL;
}