[C] Sprawdzenie inicjalizacji stosu
: 21 paź 2017, o 15:13
Witam.
Piszę sobie implementację stosu w C i napotkałem pewien problem (możliwe, że chcę zbyt "dobrze" zabezpieczyć mój program). Otóż mam stos przechowujący liczby typu int w formie dynamicznej tablicy oraz "konstruktor" jako funkcję init, która owy stos inicjalizuje. Jest to mniej więcej coś takiego:
Zacząłem się zastanawiać czy istnieje jakaś możliwość na poprawne zareagowanie na np. niepotrzebna ponowna inicjalizacje czyli coś takiego:
Chciałbym również sprawdzać czy w funkcjach takich jak push, pop obiekt został poprawnie zainicjalizowany... stąd moje pytanie... Problem polega na tym, że w C ( z tego co mi wiadomo) nie ma czegoś takiego jak inicjalizacja wskaźnika pewną wartością domyślną (chociaż Nullem)...
Dzięki za pomoc.
Piszę sobie implementację stosu w C i napotkałem pewien problem (możliwe, że chcę zbyt "dobrze" zabezpieczyć mój program). Otóż mam stos przechowujący liczby typu int w formie dynamicznej tablicy oraz "konstruktor" jako funkcję init, która owy stos inicjalizuje. Jest to mniej więcej coś takiego:
Kod: Zaznacz cały
struct Stack{
int*data;
long size;
long top;
};
void init(struct Stack*s){
//.....
}
Kod: Zaznacz cały
int main(){
struct Stack stack;
init(&stack);
init(&stack); //nadmiarowa inicjalizacja - blad
}
Dzięki za pomoc.