ごめん。やっぱこっち。

void DeleteAlist( struct LIST** ppList, int iDelKey )
{
LIST* pTmp;

while( *ppList ) {
if( (*ppList)->data == iDelKey ) {
pTmp = (*ppList)->nextptr;
free( (void*)*ppList );
*ppList = pTmp;
}
else {
ppList = &((*ppList)->nextptr);
}
}
}