Citat:
Ursprungligen postat av
smellyproof
Vet du hur man skulle kunna definera en int variabel på samma sätt? Alltså inte till 0 utan till "tomt"?
Om de är
Kod:
struct person {
int id;
char namn[MAXNAMN];
char numm[MAXNUMM];
};
katalog[i].id = ?;
En int har också alltid ett värde (eller är odefinierad), så för att markera "tomt" måste du begränsa de giltiga ID-numret med ett. Du kan t.ex. använda INT_MIN eller INT_MAX från <limits.h> (det minsta respektive största värdet som en int kan ha), eller -1 om du bara tänker använda positiva ID-värden.
Men det är bättre att kopiera det sista elementet (det sista som inte är skräp, dvs index n-1) över den plats som ska bli tom, och minska n med 1. Det finns diskussion och färdig kod på
http://www.flashback.org/p52500398#p52500398.