我正在尋找一種方法來從C中的數組中刪除條目。還要刪除結構中的條目。從C中的數組中刪除條目
我對C很新,任何想法如何去做?
UPDATE:
實測值是應該刪除從結構中的條目的代碼:
void removeEntry(student *st, int *nr, char nu[50])
{
int k=0,i,j;
for(i=0;i<*nr;i++)
{
if(strcmp((st+i)->name,nu)==0)
{
k++;
for(j=i;j<(*nr-k);j++)
{
*(st+j)=st[j+1];
}
}
}
*nr=*nr-k;
}
您是否考慮閱讀一本關於C編程的好書? –
您不能從結構中刪除條目。從數組中,您只需將要刪除項目後面的數組部分複製到其新位置。 –
這幾乎是[這個問題]的愚蠢(http://stackoverflow.com/questions/1838835/how-to-delete-structure-entries-in-c),所以你可能會在那裏尋找一點點洞察你的問題。 – Nate