Rozmiar struktury a używanie system(CLS)

pawwach
Użytkownik
Użytkownik
Posty: 11
Rejestracja: 10 sty 2011, o 20:44
Płeć: Mężczyzna
Lokalizacja: Kamienica/Kraków
Podziękował: 1 raz

Rozmiar struktury a używanie system(CLS)

Post autor: pawwach »

Witam,

Mój dzisiejszy problem jest totalnie nietypowy i nigdzie nie mogę znaleźć na niego rozwiązania. Polega on na tym, iż posiadam następującą strukturę listy jednokierunkowej:

Kod: Zaznacz cały

typedef struct lista {
	char imie[31];
	char nazwisko[31];
	char pesel[12];
	char data[11];
	char plec[2];
	char email[41];
	char telefon[21];
	struct lista *nast;
} el_listy;
Później w int main() tworzę głowę tejże listy:

Kod: Zaznacz cały

	el_listy *wskaznik = NULL;
	el_listy *head;
	head = (el_listy*)malloc(sizeof(el_listy*));
	head->nast=NULL;
Nietypowość problemu objawia się w tym, że wszystko działa do czasu... użycia komendy system("CLS").

Kod:

Kod: Zaznacz cały

	system("CLS");
	printf("%d ", head->nast);
z zakomentowaną pierwszą linijką daje w wyniku 0, zaś przy normalnym użyciu system("CLS")... zmienia wartość wskaźnika na 1935438711. Co ciekawe, problem nie występuje (także po CLS jest drukowane 0), kiedy zakomentuję przynajmniej dwa dłuższe stringi (np imię i nazwisko) w strukturze.

Co się dzieje?
Awatar użytkownika
argv
Użytkownik
Użytkownik
Posty: 569
Rejestracja: 27 maja 2009, o 01:27
Płeć: Mężczyzna
Podziękował: 51 razy
Pomógł: 66 razy

Rozmiar struktury a używanie system(CLS)

Post autor: argv »

Na pierwszy rzut oka powinno być:

Kod: Zaznacz cały

 head = (el_listy*)malloc(sizeof(el_listy));
pawwach
Użytkownik
Użytkownik
Posty: 11
Rejestracja: 10 sty 2011, o 20:44
Płeć: Mężczyzna
Lokalizacja: Kamienica/Kraków
Podziękował: 1 raz

Rozmiar struktury a używanie system(CLS)

Post autor: pawwach »

No tak. Nie popisałem się Nie wiem, jak mogłem popełnić taki głupi błąd i, przez godzinę analizując kod, go nie zauważyć. Zdaje się, że pomogło. Dzięki.
ODPOWIEDZ